(1).백준 5292번 Counting Swann’s Coins는 3, 6, 9 게임과 유사하고
언젠가 풀었던 pizz buzz 같은 문제와도 유사하지만 3, 5의 배수일 때 특정 단어로 대체하고 줄을 바꿔야 하는 문제였다.
또한 글자 사이에는 공백이 존재하지만 앞 뒤에는 공백이 들어가면 안되는 조건이었는데
각 라인의 글자를 넣을 때마다 앞에 공백을 추가하는 방식으로 글자 사이에 공백이 들어가게 하고
줄바꿈을 하기 전 trim()을 통해 앞뒤 공백을 제거하고 result에 넣어주는 방식으로 해결했다.
지금 생각해보면 trim의 시간복잡도에 대해서 잘 모르기 때문에
그냥 글자 뒤에 공백을 넣는 방식으로 하고 마지막에 pop 같이 한글자를 날려도 되지 않나 생각도 해봤지만
배열이 아닌 문자열에는 pop이 되지 않기 때문에 그냥 이상태로도 큰 지장은 없을 것 같다.
const input = 18
const result = []
let str = ''
for(let i = 1 ; i <= input ; i++){
if(i % 3 == 0 && i % 5 == 0){
str += ' DeadMan'
result.push(str.trim())
str = ''
}
else if(i % 3 == 0){
str += ' Dead'
result.push(str.trim())
str = ''
}
else if(i % 5 == 0){
str += ' Man'
result.push(str.trim())
str = ''
}
else{
str += ' ' + i
}
}
if(str){
result.push(str.trim())
}
console.log(result.join('\n'))
'회고' 카테고리의 다른 글
[개발일지] - 213 (0) | 2024.01.29 |
---|---|
[개발일지] - 212(주말) (0) | 2024.01.28 |
[개발일지] - 210 (0) | 2024.01.26 |
[개발일지] - 209 (0) | 2024.01.25 |
[개발일지] - 208 (1) | 2024.01.24 |