반응형

2025/03/04 5

[프로그래머스/Java] 완주하지 못한 선수(Hash 문제) 풀이

프로그래머스 알고리즘 고득점 Kit의 hash 문제인 '완주하지 못한 선수'를 Java로 풀어보았다.https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  우선 Hash 문제 Kit인 만큼 먼저 HashMap을 이용해서 풀어보았다. 사실 map에서 굳이 element를 삭제하지 않고 한번 더 반복문을 실행해서 value가 0이 아닌 요소를 찾아도 되지만, 굳이 한 번 더 반복문을 쓸 필요는 없을 것 같아서, remove를 하는 선택을 했다. 하지만 remove를 한다고 하더라도, 인덱스로 접근할 ..

[프로그래머스/Java] 베스트앨범(Hash 문제) 풀이

프로그래머스 알고리즘 고득점 Kit의 Hash 문제에 해당하는 베스트앨범을 자바로 풀어보았다. https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  해결을 위해 아래 코드처럼 작성해 보았다. 단순한 방법으로 HashMap을 선언하여, HashMap의 key를 genre 이름으로, value를 해당 장르의 총 재생수로 설정하여, 재생수를 모두 센 후, max값을 찾아 하나씩 삭제하며 처리하는 방식이다. 여기서 굳이 answer 배열에 바로 추가하지 않고, 먼저 list에 넣은 후 answer 배열..

[프로그래머스/Java] 의상(Hash 문제) 풀이

https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 앞선 해시 문제들은 대체로 그냥 배열을 사용하고, index를 key화 시키거나 sort를 하는 등의 방식으로 해시를 사용했다면, 이 문제에서는 HashMap을 사용하여 문제를 풀었다. clothes 배열 내 원소 각각이 [의상의 이름, 의상의 종류] 로 주어지므로, 해당 원소 내 의상의 종류를 key로 설정하고 value를 해당 의상의 종류 내 의상의 이름 개수, 즉 해당 의상의 종류가 몇 가지 존재하는지로 정했다. 우리가 알고자 하는 것은 ..

카테고리 없음 2025.03.04

[프로그래머스/Java] 전화번호 목록(hash 문제) 풀이

프로그래머스 알고리즘 고득점 Kit의 해시 문제인 전화번호 목록을 자바로 풀어보았다. https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  이 문제는 sort를 이용하는 것이 핵심이다. sort를 이용하지 않으면, 이중 루프를 이용하여 모든 요소를 서로 비교해야 하지만, sort를 이용하면 이웃한 element끼리만 비교하면 되기 때문이다.따라서 우선 Arrays.sort() 함수를 통해 주어진 String array를 정렬한 후, 이웃한 element들끼리만 비교해 준다. 정렬이 되어있는 상태..

[프로그래머스/Java] 폰켄몬(Hash 문제) 풀이

프로그래머스 알고리즘 고득점 Kit의 해시 문제 중 하나인 폰켄몬을 풀어봤다. https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  지속적으로 C언어로 알고리즘 문제를 풀고 코딩테스트를 치뤄왔으나, 빠르게 문제를 풀어야 하는 상황에서 C언어의 한계가 너무 명확했고, 알고리즘 때문에 C언어를 계속 공부하기도 어렵겠다고 판단해서, 앞으로 주 개발언어로 사용할 Java로 알고리즘 문제를 풀이하는데 차차 익숙해지고자 한다. 그래서 쉬운 문제부터 어려운 문제까지 섹터별로 나뉜 고득..

728x90
반응형