[프로그래머스] 2주차 문제풀이

김태민·2025년 7월 20일

코딩테스트

목록 보기
3/6

코테 공부 2주차입니다! 이번에는 0Lv 7문제, 1Lv 1문제를 풀어보았어요

그 중 기억에 남는 문제 2문제를 소개함다

문자열 섞기 (Lv 0)

function solution(str1, str2) {
     return str1.split('').map((char, index) => char + str2[index]).join('');
}

뭔가 문제에서 한 줄로 끝내버릴 수 있을 것 같은 느낌이 들었다.

처음엔 for 생각이 먼저 났지만, map에 익숙해지는게 좋을 거 같아서 map으로 접근해 보았다. (프론트에서는 map 정말 많이 사용하니까,,)

split('')을 사용해서 문자열을 배열로 바꾸고, map을 사용해서 해결했다!

추억점수 (Lv 1)

function solution(name, yearning, photo) {
    let score = 0;
    let result = [];
    
    for (let i = 0; i < photo.length; i++) {
        for (let j = 0; j < photo[i].length; j++) {
            for (let k = 0; k < name.length; k++) {
                if (name[k] === photo[i][j]) {
                    score += yearning[k]; 
                }
            }
        }
        result.push(score);
        score = 0;
    }
    return result;
}

예전에 잠깐 백준 풀 때도 모든 문제를 반복문을 써서 해결했던 나는... 그 때의 습관을 버리지 못하고 또 다시 반복문부터 떠올려버렸다.

그래도 생각난 김에 우선 풀기라도 해보자는 생각에 우선 풀어보았다!

처음에는 2중 반복문으로 접근했으나... photo 자체가 2차원배열이라 결국 반복문을 한번 더 중첩시켜야만 했다.

사진을 고정시켜놓고 -> name의 index을 증가시키며 ohoto와 같은 값을 찾고 -> 같을 경우 score에 값을 추가해주고 -> 한 사진의 순회가 끝날 경우 result에 추가해주고, score를 다시 초기화 시켰다.

많이 비효율적인 코드인 것 같아, 좀 더 실력을 쌓고 다시 풀어볼 예정이다. 우선은 다른 문제를 더 풀어볼게요

profile
빠르게 성장하는 개발자

2개의 댓글

comment-user-thumbnail
2025년 7월 21일

태민짱님, 좋은 글 보고 갑니다 :) 더위 조심하세요 **

답글 달기
comment-user-thumbnail
2025년 7월 21일

유익한 정보 감사합니다!

답글 달기