본문 바로가기

전체 글361

[2018 카카오 기출] 파일명 정렬(JAVA) programmers.co.kr/learn/courses/30/lessons/17686 시뮬레이션 문제입니다. 저는 File이라고 하는 별도의 클래스를 선언했고 아래와 같이 네 부분으로 나눠습니다. 첫 문자 부분(String HEAD) 숫자 부분(int NUMBER) 배열 안에 들어있던 순서(int isbn) 원래 파일명(String origin) 파싱하는 게 번거로운 편이고 파싱 후에 문제 조건대로 정렬해주면 됩니다. 코드: github.com/cotchan/algorithm/blob/main/java/PROGRAMMERS/PG17686.java 2021. 4. 28.
[2018 카카오 기출] 캐시(JAVA) programmers.co.kr/learn/courses/30/lessons/17680 시뮬레이션 문제입니다. 우선 캐시 사이즈가 0인 경우에는 도시의 수 * 5로 바로 처리해주면 됩니다. MAXIMUM 캐시 크기는 30으로 작습니다. 그러므로 캐시에서 지울 후보를 고를 때 캐시를 전부 순회하면서 탐색해도 시간초과가 나지 않습니다. 이 부분만 유념해서 시간 카운팅하시면 될 것 같습니다. 코드: github.com/cotchan/algorithm/blob/main/java/PROGRAMMERS/PG17680.java 2021. 4. 26.
[2019 카카오 기출] 튜플(JAVA) programmers.co.kr/learn/courses/30/lessons/64065 튜플을 나타내는 LIST가 주어졌을 때 숫자가 많이 등장할 수록 튜플 리스트 안에서 인덱스가 낮은 숫자입니다. 예를 들어 나타내고자 하는 튜플이 {2, 1, 3, 4} 라면 {2},{2,1},{2,1,3},{2,1,3,4}으로 나타낼 수 있고 이 LIST에서 2는 총 4번 나오고, 1은 3번, 3은 2번, 4는 1번 나옵니다. 그래서 이 규칙을 이용하여 문자열 내에 많이 등장한 횟수를 카운팅하고 많이 나온 숫자부터 나오도록 내림차순 정렬해주면 됩니다. 코드: github.com/cotchan/algorithm/blob/main/java/PROGRAMMERS/PG64065.java 2021. 4. 26.
[2020 카카오 기출] 문자열 압축(JAVA) programmers.co.kr/learn/courses/30/lessons/60057 시뮬레이션 문제입니다. 문자열 압축 계산을 위해 사용할 수 있는 자료구조는 다양합니다. 편한 방식을 사용하면 될 것 같고 저는 HashMap을 통해서 압축가능여부를 계산했습니다. 주어진 문자열을 S라고 표현하겠습니다. 1. 주어진 문자열 S를 길이 1부터 ~ S / 2 길이만큼 LEN 단위로 잘라서 압축시도를 합니다. 2. 길이 1부터 S/2 길이만큼 압축한 결과중 가장 길이가 짧은 것을 리턴하면 됩니다. 코드: github.com/cotchan/algorithm/blob/main/java/PROGRAMMERS/PG60057.java 2021. 4. 21.