2022 성균관대학교 프로그래밍 경진대회 Open Contest 풀이
A   [BOJ 24523] 내 뒤에 나와 다른 수
B   [BOJ 24524] 아름다운 문자열
C   [BOJ 24525] SKK 문자열
D   [BOJ 24526] 전화 돌리기
E   [BOJ 24527] 이상한 나라의 갈톤보드

1. 문제

$24523$. 내 뒤에 나와 다른 수 (2022 성균관대학교 프로그래밍 경진대회 Open Contest A번)

백준 24523번 - 내 뒤에 나와 다른 수 (https://www.acmicpc.net/problem/24523)

2. 풀이

boj-24523

아래 화살표는 코드에서 idx이고, 위 화살표는 i이다.

$i=6 \rightarrow$ $idx=-1$이므로, $ans[6]=-1$이다. $A[6]$과 $A[5]$를 비교해보니 수가 동일하므로, $idx$의 변화는 없다.

$i=5 \rightarrow$ $idx=-1$이므로 $ans[5]=-1$이다. $A[5]$와 $A[4]$를 비교해보니 수가 다르므로, $idx$를 $5$로 변경한다. ($idx$가 $5$로 변경된다는 의미는 이전에 나올 수에서 오른쪽으로 가장 가까우면서 자기 자신과 다른 수가 $ans[5]$가 될 것이라는 의미이다.)

$i=4 \rightarrow$ $idx=5$이므로 $ans[4]=5$이다. $A[4]$와 $A[3]$를 비교해보니 수가 같으므로, $idx$의 변화는 없다. ($A[4]$와 $A[3]$가 동일하기 때문에 $ans[3]$는 $ans[4]$와 동일한 답을 갖게 된다. 따라서 $idx$의 변화가 없는 것이다.)

$i=3 \rightarrow$ $idx=5$이므로 $ans[3]=5$이다. $A[3]$와 $A[2]$를 비교해보니 수가 다르므로, $idx$를 $3$으로 변경한다. (오른쪽으로 가장 가까우면서 자기 자신과 다른 수를 찾아야 한다. 따라서 $idx$가 계속 최대한 왼쪽으로 이동하는 것이다.)

$i=2 \rightarrow$ $idx=3$이므로 $ans[2]=3$이다. $A[2]$와 $A[1]$을 비교해보니 수가 같으므로 $idx$의 변화는 없다.

$i=1 \rightarrow$ $idx=3$이므로 $ans[1]=3$이다.

3. 채점 결과

boj-24523

4. 회고

.

5. 코드

댓글남기기