(1).백준 1592번 영식이와 친구들은 규칙에 따라 공을 던지면서 노는 중
일정 횟수 이상 받은 사람이 나타날 경우 몇번을 던지고 종료했는지를 구해야 하는 문제였는데
조금 이상하긴 하지만 작동 내용 자체를 구현해서 해결할 수 있었다.
이상한 설명 대비 구현 로직은 간결해보였는데
단순히 받은 횟수의 홀/짝 여부를 체크해서 던지는 방향을 체크해 일정 거리만큼 던지게 헀고
%의 나머지처리로 인해 0이 나올 수 있기 때문에 각 연산에서는 미리 1을 빼서 처리 후 1을 더하는 방식으로 진행했다.
const [n,m,l] = `15 4 9`.split(' ').map(Number)
const people = new Array(n+1).fill(0)
let max = 0
let now = 1
let count = 0
while(max < m){
people[now]++
max = Math.max(people[now], max)
if(max == m){
break
}
count++
if(people[now] % 2){
now = (now + l - 1) % n + 1
}
else{
now = (now + n - l - 1) % n + 1
}
}
console.log(count)
'회고' 카테고리의 다른 글
[개발일지] - 706 (0) | 2025.06.09 |
---|---|
[개발일지] - 705(주말) (0) | 2025.06.08 |
[개발일지] - 703(현충일) (0) | 2025.06.06 |
[개발일지] - 702 (1) | 2025.06.05 |
[개발일지] - 701 (0) | 2025.06.04 |