devFancy BE Developer

[Programmers] 77484. 로또의 최고 순위와 최저 순위

2023-01-29
devfancy

문제 링크

성능 요약

메모리: 73.4 MB, 시간: 0.04 ms

구분

코딩테스트 연습 > 2021 Dev-Matching:웹 백엔드 개발자(상반기)

Answer Code1(23.01.29)

import java.util.*;

public class Solution {

  public int[] solution(int[] lottos, int[] win_nums) {
    int[] answer = new int[2];

    Map<Integer, Integer> compareRank = init();

    int zero_count = 0, same_number = 0;

    for (int i = 0; i < 6; i++) {
      if (lottos[i] == 0) {
        zero_count += 1;
        continue;
      }
      for (int j = 0; j < 6; j++) {
        if (lottos[i] == win_nums[j]) {
          same_number += 1;
          break;
        }
      }
    }

    answer[0] = compareRank.get(same_number + zero_count);
    answer[1] = compareRank.get(same_number);

    return answer;
  }

  private Map<Integer, Integer> init() {
    Map<Integer, Integer> ret = new HashMap<>();
    int rank = 6;
    for (int i = 0; i <= 6; i++) {
      if (i == 0 || i == 1) {
        ret.put(i, rank);
        continue;
      }
      rank -= 1;
      ret.put(i, rank);
    }
    return ret;
  }
}

Review

  • HashMap 사용법을 잊어먹어서 푸는데 시간이 좀 걸렸다.

Comments

Index