본문 바로가기

프로그래머스107

코딩테스트 연습 > 약수의 합 - 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.
코딩테스트 연습 > 땅따먹기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 dp로 풀어보려고 했는데 그냥 단순히 완탐을 해버렸네요 ㅠㅠ 현재 위치의 값을 가지고 바로 밑에 줄에 있는 값들과 더해 보면서 가장 높은 값만 저장합니다. 그렇게 마지막까지 가면 마지막 줄에는 그 위치에 도달하는 방법 중 가장 높은 값일 경우만 모입니다. 그 후에 마지막 줄에서 최댓값 한 번 찾아주면 됩니다. ps. 코드 길이를 좀 더 줄이고 싶으면 dp[0] = Arrays... 2024. 1. 11.
2019 카카오 개발자 겨울 인턴십 > 튜플 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 튜플을 보면 숫자가 하나씩 늘어나는 것을 볼 수 있는데 길이가 늘어났을 때 새로운 숫자가 늘어난 길이 = index에 해당하는 값이다. 위의 그림처럼 문자열을 길이 순으로 정렬 하고 보면 바로 보일 것이다. 그래서 Set을 사용해서 새로운 값이라면 Answer에 값을 넣으면 정답이 나오는 것을 볼 수 있을 것이다. 풀이 주어지는게 문자열이 아니라 배열이였으면 더욱 쉬웠을 텐데 .. 2024. 1. 10.