728x90
반응형

예상 대진표 2

<프로그래머스> 24.02.21 복습

[예상 대진표 - 이전에 풀었던 방법] https://retry-thinksubox.tistory.com/5 이전에 풀 때는 최대 라운드를 sqrt를 가지고 정해놓고 그 안에서 다음 번호와 마치는 종료 조건을 구하는 식으로 했었다. 하지만 이렇게 할 필요가 없었다는 걸 오늘 알게 되었다. 왜냐하면 무조건 서로 붙게 된다는 조건 때문에 만나게 되어있기 때문이다. 여기서 가장 쉽게 해결하기 위해 필요한 아이디어는 현재 자리에서 +1을 하고 2로 나누면 다음 라운드에서의 자리라는 것과 붙게 되는 경우에 앞의 과정을 한 값이 서로 같다는 것이다. 간단하게 말하면 서로의 값이 같아질 때까지 +1를 하고 /2를 하는 걸 반복하다가 같아지면 탈출하고 걸린 횟수를 결과로 보내주는 것이다. 이전에 짰던 코드랑 비교를 해..

<프로그래머스> 예상 대진표(Lv.2)

https://github.com/heesoo-park/ForCodeKata/tree/main/%EC%98%88%EC%83%81%20%EB%8C%80%EC%A7%84%ED%91%9C https://school.programmers.co.kr/learn/courses/30/lessons/12985 이 문제를 처음 볼 때는 문제 지문이 너무 길어서 약간 기가 죽었었다... 하지만 문제가 원하는 건 간단하더라 '참가자 2명이 언제 만나냐?' 부전승이 나오지 않고 참가자 2명은 항상 이긴다고 했기 때문에 생각할 예외사항들은 거의 없었다. '대진표 반복은 주어지는 게임 참가자 수 N의 제곱근을 구해 반복하고, 참가자가 이겼을 때 받게 되는 번호를 체크하다가 만났을 때 반복문을 끝내면 되겠다...!' ...라는 간..

반응형