(1).백준 5753번 Pascal Library는 모금행사를 진행할 때

모든 회차에 참여한 참가자가 있는지를 묻는 문제였다.

 

각각의 케이스마다 참여자, 회차가 먼저 주어지고

그 뒤에 각 회차별 참여자가 주어지기 때문에

첫번째 for문에서는 각각의 케이스를 분리해줬고

그 다음 각각의 사람들이 참여했는지를 for문을 돌며 확인 후

모두 참여한 사람이 나온 경우 확인을 중단하고 해당 케이스는 'yes'처리했다.

 

전체 순회를 하는 방식이 더 간단할 수 있지만

데이터 저장도 더 많이 해야 하고 전체 비교를 진행해야 하기 때문에

회차별로 진행하며 사람을 순회하는 방식이 아닌

각 사람을 고정하고 회차를 순회해 한명씩 체크하는 방식으로 진행했다.

const input = `3 3
1 1 1
0 1 1
1 1 1
7 2
1 0 1 0 1 0 1
0 1 0 1 0 1 0
0 0`.split('\n').map(el => el.split(' ').map(Number))

const result = []

for(let i = 1 ; i < input.length -1 ; i++){
    const [x, y] = input[i-1]
    let isJoin = 'no'
    for(j = 0 ; j < x ; j++){
        let now = 0 
        for(let k = 0 ; k < y ; k++){
            now += input[i + k][j]
        }
        if(now == y){
            isJoin = 'yes'
            break
        }
    }
    result.push(isJoin)
    i += y
}

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

[개발일지] - 143  (1) 2023.11.20
[개발일지] - 142(주말)  (1) 2023.11.19
[개발일지] - 140  (0) 2023.11.17
[개발일지] - 139  (0) 2023.11.16
[개발일지] - 138  (0) 2023.11.15

+ Recent posts