본문 바로가기

카카오코테16

Summer/Winter Coding(~2018) > 방문 길이 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/49994 풀이 - 나의 생각 1 -> 2 로 넘어갈 경우 방문 길이는 체크 되지만 2-> 1 방향으로 가는 경우는 체크 되지 않아야 한다. 기존에 하던 것처럼 2차원 배열로 방문처리 할 경우 위의 경우는 가능하지만 3 ->2나, 4->2, 5->2 같은 경우 방문 길이가 늘어나야 하지만 2가 이미 방문처리 되어 늘어나지 않는다. 그걸 어떻게 코딩할까 고민을 하다가 방문처리를 3차원으로 하면 되겠다고 생각했다. [방향][맵][맵] 이런 식으로해서 들어온 방향 + 반대 방향을 방문 처리 해주면 그 외에 방향에서 들어오는 건 방문 길이가 추가 되게 할 수 있다!! 코드 import java.util.*; .. 2024. 1. 10.
2018 KAKAO BLIND RECRUITMENT > [3차] 압축 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/17684 풀이 - 나의 생각 1. List에 알바벳 A ~ Z를 넣는다. 2. LZW 압축 진행 2-1. 주어진 문자열을 한글자씩 가져온다. (현재 문자열이 W, 다음 문자열 C) 2-2. W+C가 List에 있는지 확인 Y -> W = W+C, C는 원래 C의 다음 문자열, 2-2로 N -> List에 W를 넣고 List에서 W의 위치를 answer에 저장, 2-1로 1은 그냥 for문으로 알파벳을 넣어줬다. 다른 좋은 방법 아시는 분은 댓글 부탁드립니다. W, C는 W+C가 List에 있으면 계속해서 쌓여간다. 예를 들어 W+C가 계속해서 List에 없었던 문자라고 가정을 하겠다. No. W C .. 2024. 1. 6.
2022 KAKAO BLIND RECRUITMENT > k진수에서 소수 개수 구하기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/92335 풀이 - 나의 생각 1. 주어진 int n을 K진수로 바꾸기 2. 조건에 맞춰 숫자 자르기 3. 그 숫자가 소수인지 확인하기 1은 Integer.toString(int n, int k) -> n을 k진수로 변환하여 String 형으로 반환한다. 2는 String.split("0+") -> 0 또는 연속된 0을 기준으로 문자열을 분환해줌 3은 에라토스테네스의 체를 활용했는데 원래는 n까지 소수의 개수를 찾는 방식이지만 이번에는 n이 소수인지 아닌지 판별하는 방식으로 사용했다. 코드 import java.util.*; class Solution { public int solution(int n,.. 2024. 1. 4.
코딩테스트 연습 > [1차] 캐시 - JAVA 풀이 - 나의 생각 중요한 점 1. 캐시 교체 알고리즘은 LRU(Least Recently Used)를 사용한다. 2. Cache Size가 0일 경우가 있다. 3. 대 소문자 구분이 없다. 처음에 문제를 이해하는데 좀 시간이 걸렸다.... 1. 캐시 교체 알고리즘은 LRU(Least Recently Used)를 사용한다. 에 대해 생각해봅시다. LRU가 뭐지? 라고 생각했다가 단어를 보니 대충 아 최근에 사용한 것들을 캐시에 넣어놓는 방법이겠다 라고 생각했고 주어지는 cache size는 저장하는 캐시의 최대 개수겠다고 생각했다. 그래서 이 생각을 토대로 주어진 test case를 풀어보니 정답이 나와서 그렇게 풀었다. 즉. LRU는 최근 사용된 것을 캐시에 저장한다. 저장할 수 있는 캐시의 개수는 c.. 2023. 12. 31.