본문 바로가기
알고리즘/Samsung

SW 1285. 아름이의 돌 던지기

by son_i 2023. 5. 5.
728x90

SW Expert Academy

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

기껏 다 풀었는데 자바로 제출이 안 돼서 제출은 못 했다.

java
닫기
package algorithm; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; /* 사용하는 클래스명이 Solution 이어야 하므로, 가급적 Solution.java 를 사용할 것을 권장합니다. 이러한 상황에서도 동일하게 java Solution 명령으로 프로그램을 수행해볼 수 있습니다. */ public class Solution { public static void main(String args[]) throws Exception { ‌‌//System.setIn(new FileInputStream("C:\\so_Project\\workspace\\BaekJoon\\src\\algorithm\\input.txt")); ‌‌BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ‌‌BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); ‌‌int T = Integer.parseInt(br.readLine()); //테스트 케이스 ‌‌ ‌‌for(int i=1;i<=T;i++) { //하나의 테스트케이스마다 반복 ‌‌‌int num = Integer.parseInt(br.readLine()); ‌‌‌ ‌‌‌StringTokenizer st = new StringTokenizer(br.readLine()); ‌‌‌int min = 100001; ‌‌‌Map <Integer,Integer> map = new HashMap<>(); ‌‌‌for(int j=0;j<num;j++) { //돌 던진 거리(인덱스) + 던진사람 (값) ‌‌‌‌int length = Math.abs(Integer.parseInt(st.nextToken())); ‌‌‌‌map.put(length, map.getOrDefault(length,0)+1); ‌‌‌‌ ‌‌‌} ‌‌‌for(int j : map.keySet()) { ‌‌‌‌if(min>j) { ‌‌‌‌‌min = j; ‌‌‌‌} ‌‌‌} ‌‌‌System.out.println("#"+i+" "+min+" "+map.get(min)); ‌‌‌ ‌‌}//하나의 테스트 케이스 끝 } }

HashMap을 사용해서 간단하게 풀었다 !

근데 백준 2108번 문제 통계학문제에서 최빈값 구할 때 썼던 map 메소드가 기억이 안 나서 애룰 많이 먹었다 ㅡㅡ

뭐였나면 map.getOrDefault(key,value) !

이거를 어떤식으로 썼냐면 돌 던진 거리들이 주어지면 절대값을 구해서 map에 key로 넣어주고 동일한 key가 나올 때마다 value값을 1씩 증가시켜준다.

                  //map.put(key, value) length의 key값에 value를 넣어주는데 그 value가

작성 코드는 map.put(length, map.getOrDefault(length,0)+1);

                 //map.getOrDefault(key,value)형식으로 map에 일치하는 key값이 있다면 그 값을 반환하고 +1을해주고

                    일치하는 key값이 없었다면 기본값 value로 써준 0을 반환하고 1을 추가한다 !

이젠 외우자

728x90

'알고리즘 > Samsung' 카테고리의 다른 글

SW 1928. Base64 Decoder  (0) 2023.05.05
SW 1940. 가랏! RC카 !  (0) 2023.05.05
SW 1945. 간단한 소인수분해  (0) 2023.05.02
SW 1946. 간단한 압축 풀기  (0) 2023.05.02
SW 1948. 날짜 계산기  (0) 2023.05.02