(1).백준 10874번 이교수님의 시험은 1,2,3,4,5를 반복하는 답이 있을 때

이유는 모르겠지만 만점자들만 재시험을 봐야 해서 재시험을 봐야 하는 사람의 번호들을 출력해야 하는 문제였다.

 

답은 일정하게 1~5가 반복되기 때문에 index에서 %5 처리를 해서 1~5를 구하게 하고

각각 순회하며 불일치할 경우 해당하는 사람이 아니라 flag를 false로 바꾸고 break처리해서 추가 순회를 멈춰줬고

끝까지 순회한 경우에 해당 인덱스를 result에 담에서 한번에 출력했다.

 

문제 수 길이에 따라서 고정된 답이 있기 때문에

그냥 문자열 자체를 바로 filter를 사용할까 고민했는데

인덱스 처리하는것도 있어서 그냥 생각나는대로 바로 처리해버렸다.

 

const input = `5
1 1 1 1 1 1 1 1 1 1
1 2 3 4 5 1 2 3 4 5
3 2 2 1 5 1 2 2 2 2
1 2 3 4 5 1 2 3 4 5
1 2 3 4 5 1 2 3 4 5`.split('\n').map(el => el.split(' '))

const result = []

for(let i = 1 ; i < input.length ; i++){
    let flag = true
    for(let j = 0 ; j < input[i].length ; j++){
        if(input[i][j] != ((j) % 5) + 1){
            flag = false
            break
        }
    }
    if(flag){
        result.push(i)
    }
}

console.log(result.join('\n'))

'회고' 카테고리의 다른 글

[개발일지] - 831  (0) 2025.10.14
[개발일지] - 830(주말)  (0) 2025.10.12
[개발일지] - 828(연차)  (0) 2025.10.11
[개발일지] - 827(한글날)  (0) 2025.10.09
[개발일지] - 826(추석)  (0) 2025.10.09

+ Recent posts