자바36 월간 코드 챌린지 시즌2 > 2개 이하로 다른 비트 https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 처음에는 주어진 숫자(numbers[i])에 +1(이하 B)을 하고 XOR 연산을 한 후 Long.bitCount 를 통해 1의 갯수의 차이를 구한다. 이 차이가 2이하일 경우 answer[i]에 값을 저장한다. 아닐 시 B에 +1을 한다. 위를 반복했다. 결과적으로 시간 초과가 발생했다. 아무래도 숫자가 커질 수록 (주어진 범위가 10의 15승이다) 비트 1개의 차이를 찾는게.. 2024. 1. 21. 코딩테스트 연습 > 택배상자 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/131704# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 원래 레일에는 1번 택배부터 n번 택배까지 순서대로 올라와 있다. 하지만 목적지에 따라 기사가 원하는 순서대로 바꾸기위해서 보조 컨테이너 벨트를(이하 보조 벨트) 사용할 수 있다. 이 보조 벨트에서 짐을 내리는 순서는 올려놓은 순서의 역순으로만 내릴 수 있다. 즉, 4번을 먼저 싣기위해 1, 2, 3 번을 보조 벨트에 올리면 3, 2, 1 순으로 꺼낼 수 있다. 이건 뭐다?.. 2024. 1. 21. 코딩테스트 연습 > 롤케이크 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 Set을 통해 주어진 Topping의 가짓수를 세면 편합니다. 위의 그림처럼 왼쪽, 오른쪽 각각의 방향에서 가짓수를 체크합니다. 그 후에 롤케이크를 잘랐을 때 가짓수가 같은 경우를 세면 정답을 알 수 있습니다. 주의할 점은 왼쪽의 인덱스가 2일 경우는 0 ~ 2까지의 토핑 가짓수입니다. 오른쪽의 인덱스가 2일 경우 2 ~ n까지의 토핑 가짓수입니다. 그렇기때문에 두 경우를 비.. 2024. 1. 12. Summer/Winter Coding(~2018) > 스킬트리 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 스킬트리에 유저의 스킬(skill_tree.charAt[i]) 있어? Yes -> 순서 맞아? Yes skill.charAt[index] == skill_tree.charAt[i] No flag = false; 이런식으로 진행하면 됩니다. 코드 class Solution { public int solution(String skill, String[] skill_trees) { .. 2024. 1. 11. 코딩테스트 연습 > 땅따먹기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 dp로 풀어보려고 했는데 그냥 단순히 완탐을 해버렸네요 ㅠㅠ 현재 위치의 값을 가지고 바로 밑에 줄에 있는 값들과 더해 보면서 가장 높은 값만 저장합니다. 그렇게 마지막까지 가면 마지막 줄에는 그 위치에 도달하는 방법 중 가장 높은 값일 경우만 모입니다. 그 후에 마지막 줄에서 최댓값 한 번 찾아주면 됩니다. ps. 코드 길이를 좀 더 줄이고 싶으면 dp[0] = Arrays... 2024. 1. 11. 코딩테스트 연습 > [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. 이전 1 2 3 4 5 6 다음