728x90
링크
https://www.acmicpc.net/problem/11497
난이도(solved.ac 참고)
실버1
풀이
이 문제는 결국 가장 큰 게 중앙에 오고, 다음으로 큰 값들이 왼쪽오른쪽에 차례차례 들어오게 한 뒤에 max값과 양 옆 인덱스와의 차이 중 큰 값을 출력하면 되는 것이다.
예를 들면 9 -> 7 9 -> 7 9 5 -> 4 7 9 5 -> 4 7 9 5 2 이런 식으로 말이다.
이렇게 만든 뒤에 (9-7)과 (9-5)를 비교해서 더 큰 4가 출력되는 것이다.
아이디어 자체는 보자마자 떠올렸는데, 오히려 구현에 시간이 좀 들었다;;
근데 .. 풀고 나서 다른 사람들 코드를 보니까, 너무 쉽게 풀었던데..? 역시 효율성은 개나줘버린 코드답다
나의 코드(오답)
최대값 인덱스를 구해서, 양 옆의 값과의 차이를 절대값으로 바꾼 것의 max를 리턴하는 것인데, 이건 왜 안되는지 모르겠다.
진행도 못하고 4%부터 틀렸다고 나온다.
혹시 이 포스팅을 보는 분들 중에 이 코드가 왜 틀린건지 아시는 분 계시면 설명좀 부탁드립니다..
'CS > 알고리즘' 카테고리의 다른 글
[Python] BOJ(백준) 11501번 - 주식 (0) | 2021.07.18 |
---|---|
[Python] BOJ(백준) 2075번 - N번째 큰 수 (4) | 2021.07.18 |
[Python] BOJ(백준) 18870번 - 좌표 압축 (0) | 2021.07.17 |
[Python] BOJ(백준) 10026번 - 적록색약 (0) | 2021.07.15 |
[Python] BOJ(백준) 7576번 - 토마토 (0) | 2021.07.12 |