(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

+ Recent posts