2차는 1차와 다르게 브론즈 문제 2개, 실버 문제 2개, 골드 문제 하나로 구성됩니다.
2차까지의 스코어보드를 확인하고, 문제 풀이를 적어보겠습니다.
2차 스코어보드
랭킹 | 아이디 | A | B | C | D | E | |
---|---|---|---|---|---|---|---|
1 | skuru | 1 / 1 | 1 / 9 | 2 / 46 | 1 / 66 | 1 / 47 | 5 / 169 |
2 | skysky_noob | 1 / 3 | 1 / 44 | 1 / -- | 0 / -- | 1 / 27 | 3 / 74 |
3 | cws111204 | 1 / 28 | 5 / 106 | 6 / -- | 0 / -- | 0 / -- | 2 / 134 |
4 | skipperkim307 | 5 / 133 | 1 / 79 | 0 / -- | 0 / -- | 0 / -- | 2 / 212 |
전체 순위
순위 | 아이디 | 맞힌 문제 / 페널티 |
---|---|---|
1 | skuru | 10 / 372 |
2 | skysky_noob | 8 / 230 |
3 | cws111204 | 4 / 310 |
4 | skipperkim307 | 4 / 388 |
문제 풀이
A. 지영 공주님의 마법 거울
그냥 구현 문제입니다.
Python 코드
1 |
|
B. 빙글빙글 스네일
약간 복잡한 구현 문제입니다.
위쪽, 오른쪽, 아래쪽, 왼쪽을 순서대로 0, 1, 2, 3으로 정하고
진행방향을 ward변수에 넣습니다. (초기엔 0)
한 방향으로 움직이는 최대 길이를 k로 정합니다. (초기엔 1)
이제 n은 더 움직일 수 있는 길이를 뜻합니다.
한 번 움직일 때마다 움직인 거리를 n에서 빼 줍니다.
오른쪽(1) 혹은 왼쪽(3)으로 간 경우엔 k를 1 더해 줍니다.
Python 코드
1 |
|
C. 효빈이의 과외
행렬 곱셈을 구현하는 문제입니다.
Python 코드
1 |
|
D. 출력 형식이 잘못되었습니다
정규 표현식을 이용하는 문제입니다.
문제의 조건에 맞게 정규표현식을 이용해 문자열의 일부를 대체한 후 비교하면 됩니다.
Python 코드
1 |
|
E. 공의 충돌
공에 각각 번호를 붙여줍시다. 1, 2, 3, …
그럼 공이 충돌하는 과정은 공이 서로 번호를 교환하고 갈 길 가는 것으로 바꾸어 해석할 수 있습니다.
인덱스가 작은 공이 인덱스가 큰 공과 부딫히는 횟수만 세면 중복을 제거할 수 있습니다. 이 횟수를 4로 나누면 답이 됩니다.
어떤 두 공이 마주볼 경우가 전체 경우의 1/4이기 때문입니다.
Python 코드
1 |
|