본문 바로가기

분류 전체보기226

월간 코드 챌린지 시즌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.
코딩테스트 연습 > 약수의 합 - JAVA 주소 풀이 - 나의 생각 효율적으로 약수를 구하는 방법을 알려드리고자 들고온 문제입니다. 보통 n의 약수를 구하기 위해서 사용하는 방법은 public int solution(int n) { int answer = 0; for(int i = 1; i 2024. 1. 16.
코딩테스트 연습 > 이상한 문자 만들기 - JAVA > 실패 해결 https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 처음에는 String[] arr = s.split(" "); 이런 식으로 공백을 기준으로 단어를 잘라서 했는데 이럴경우 "_abc_def_" 이런 경우("_"가 공백이다) arr = {"abc", "def"} 가 돼서 답이 나오지 않았다. 그래서 for(String s : s.split("")){} 으로 주어진 문자열을 한 글자 단위로 모두 자르고 공백일 경우 " " 위치가 짝.. 2024. 1. 16.
코딩테스트 연습 > 소수 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 소수는 1과 자기 자신으로만 나누어지는 수입니다. 이걸 판별하는 여러가지 방법이 있는데 저는 trial division(시도로 나누기) 방법을 사용했습니다. n이 주어질때 2부터 n의 제곱근까지만 확인하면 되는겁니다. 예를 들어서 16이 주어질 때 2분터 4(16의 제곱근)까지만 나누어 보면 소수인지 아닌지 판별이 가능한 것을 알 수 있습니다. 코드 class Solution .. 2024. 1. 15.
코딩테스트 연습 > 롤케이크 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 Set을 통해 주어진 Topping의 가짓수를 세면 편합니다. 위의 그림처럼 왼쪽, 오른쪽 각각의 방향에서 가짓수를 체크합니다. 그 후에 롤케이크를 잘랐을 때 가짓수가 같은 경우를 세면 정답을 알 수 있습니다. 주의할 점은 왼쪽의 인덱스가 2일 경우는 0 ~ 2까지의 토핑 가짓수입니다. 오른쪽의 인덱스가 2일 경우 2 ~ n까지의 토핑 가짓수입니다. 그렇기때문에 두 경우를 비.. 2024. 1. 12.