잉?

[프로그래머스] lv.1 추억 점수 (JAVA 자바) 본문

알고리즘_Algorism/프로그래머스

[프로그래머스] lv.1 추억 점수 (JAVA 자바)

Jye_647 2023. 8. 8. 23:35
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


첫 번째 풀이

  1. 점수 합계를 담을 answer []를 만들어 준다.
  2. photo의 길이 만큼 for문을 돌린다.
  3. photo [i]의 길이만큼 for문을 돌린다.
  4. name의 배열과 photo의[][j]값이 같다면 합계에 점수 추가.

 

두 번째 풀이

  1. 점수 합계를 담을 answer[]를 만들어 준다.
  2. HashMap을 사용하여 key, value를 지정해 준다.
  3. for문을 통해 HashMap에 값을 넣어준다.
  4. photo의 길이만큼 for문을 돌린다.
  5. photo[i]의 값들을 하나씩 반환하여 사진 속 인물과 비교한다.
  6. 만약 같으면 그리움 점수 추가.

첫 번째 풀이코드

public int[] solution(String[] name, int[] yearning, String[][] photo) {
        int[] answer = new int[photo.length]; // 점수 합계를 담을 배열

        for(int i=0; i<photo.length; i++){ // photo의 길이 만큼 0, 1, 2{{4}{4}{4}}
            for(int j=0; j<photo[i].length; j++){ // photo[i]의 길이만큼 4, 4, 4
                for(int k=0; k<name.length; k++){ // name 배열 길이 만큼 0, 1, 2, 3
                    if(photo[i][j].equals(name[k])){ // photo의 배열 하나하나 name과 비교한다.
                        answer[i] += yearning[k]; // yearning의 길이와 name의 길이와 같기에 배열 방번호를 k로 넣어준다.
                    }
                }
            }
        }

        return answer;
    }

 

두 번째 풀이코드

public int[] solution(String[] name, int[] yearning, String[][] photo) {
        int[] answer = new int[photo.length];
        // HashMap을 이용하여 key, value를 지정해준다.
        HashMap<String, Integer> year = new HashMap<>();

        // for문을 통해 HashMap에 name과 yearning을 put해준다.
        for (int i = 0; i < name.length; i++) {
            year.put(name[i], yearning[i]);
        }

        //  photo의 길이 만큼 for문을 돌린다.
        for (int i = 0; i < photo.length; i++) {
            for (String person : photo[i]) { // {{1} {2} {3}}
                for (String n : year.keySet()) {  //key 값을 반환
                    if (n.equals(person)) {
                        answer[i] += year.get(n); // value값을 가져온다.
                    }
                }
            }
        }

        return answer;
    }
Comments