최코딩의 개발

[백준 17266번] 어두운 굴다리 본문

코딩테스트/백준

[백준 17266번] 어두운 굴다리

seung_ho_choi.s 2025. 1. 24. 15:00
728x90

https://www.acmicpc.net/problem/17266

N= gets.chomp.to_i
M=gets.chomp.to_i

place=gets.chomp.split.map(&:to_i)


start=place[0]
endd=N-place[place.size-1]
max=0
position=0
compare=0
compare = [start,endd].max

for i in 1...place.size
  position=place[i]-place[i-1]
  max=[max,position].max
end

if max % 2 ==1
  max+=1
end

max=[max/2,compare].max


puts max

 

당근 코테 준비를 위해 당분간 루비로 문제를 풀어야 해서 조금 힘드네요. 흑...!
이 문제는 이분 탐색으로 간단히 해결할 수 있는 유형이지만, 루비 문법이 익숙하지 않아 시간이 좀 걸렸습니다.

먼저, start 변수와 end 변수에 리스트의 첫 번째 요소와 마지막 요소의 길이를 각각 저장했습니다. 그 후 두 변수 최대값을 찾아 compare 변수에 저장했습니다.
그다음, 리스트 내 나머지 요소들 중 최대 길이를 구하고, 결과적으로 최대값은 (최대 길이 / 2)와 compare 값 중 최대값을  비교해 출력하면 됩니다!

728x90

'코딩테스트 > 백준' 카테고리의 다른 글

[백준 1283번] 단축키 지정  (0) 2025.01.27
[백준 1205번] 등수 구하기  (0) 2025.01.24
[백준 20922번] 겹치는 건 싫어  (2) 2025.01.23
[백준 9465번] 스티커  (1) 2024.12.24
[백준 16928번] 뱀과 사다리 게임  (0) 2024.12.23