[BOJ 24523] 백준 24523번 - 내 뒤에 나와 다른 수
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. 풀이
아래 화살표는 코드에서 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. 채점 결과
4. 회고
.
댓글남기기