(1).백준 31428번 엘리스 트랙 매칭은 친구들이 지원한 목록과 헬로빗이 지원한 트랙의 정보가 주어질 때

헬로빗과 동일한 지원을 한 친구의 숫자를 출력해야 하는 문제였다.

 

처음에는 map에 담긴 값이 null인지 체크하는 방식으로 구현했었는데

주어진 조건이 4개밖에 안되기 때문에 map에 미리 담아서 하는게 코드도 더 깔끔해질 것 같아서 그렇게 처리했다.

 

다음 map에 수동으로 할당해서 추가해야 하는데

만약 조건이 추가될 경우 null exception이 발생하지는 않겠지만

해당 내용은 그대로 else가 없이 넘어가서 추가되지 않게 되어버리는데

접근값이 없기 때문에 어차피 추가할거면 map에만 추가하면 되는 현재 코드가 괜찮은건지

아니면 굳이 map에 담기는 값들의 추가를 신경쓸 필요 없이 내부적으로 체크 후 추가하는게 맞는건지 생각해보면

코드를 작성할 때는 4개라 그냥 적는게 나을 것 같아서 수정한게 아니었고 0 출력이 되지 않아서 저렇게 처리했던 것이었는데

차라리 삼항연산자를 사용해서 하단에 null체크 후 0을 출력하는 방식으로 관리하는게

수동으로 조건이 추가될 때마다 map에 추가 문자열 관리를 하는 것 보다 깔끔할 것 같다.

 

오늘은 바빴기 때문에 간단한 문제를 풀긴 했지만

사소한 문제들이라도 네이밍이나 코드를 작성할 때 어떤 개선점이 있는지 생각하는 시간을 가져봐야겠다.

const input = `1
C
A`.split('\n')

const map = {'C' : 0, 'S' : 0, 'I' : 0, 'A' : 0}
const friends = input[1].split(' ')

for(let i = 0 ; i < friends.length ; i++){
    if(map[friends[i]] != null){
        map[friends[i]]++
    }
}

console.log(map[input[2]])

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

[개발일지] - 491  (1) 2024.11.05
[개발일지] - 490  (0) 2024.11.04
[개발일지] - 488(주말)  (0) 2024.11.02
[개발일지] - 487  (0) 2024.11.01
[개발일지] - 486(연차)  (0) 2024.10.31

+ Recent posts