(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 |