분류 전체보기 795

프로그래머스 서울에서 김서방 찾기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. class Solution { private static final String KIM = "Kim"; public String solution(String[] seoul) { String answer = ""; int index = 0; for(int i = 0 ; i < seoul.length ; i++){ if(KIM.equals(seoul[i])){..

알고리즘 2022.10.10

프로그래머스 콜라츠 추측(JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. 구현을 통해 1이 될때까지 홀수면 3곱하고 +1 , 짝수면 나누기2를 하였습니다. 또한 answer이 500이 넘어가면 바로 while문을 빠져나가도록 하였습니다. import java.util.*; class Solution { private static final int NOT_FOUND = -1; public int solution(long num) ..

알고리즘 2022.10.09

프로그래머스 x만큼 간격이 있는 n개의 숫자 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12954 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 간단한 구현을 통해 문제를 해결하였습니다. class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; for(int i = 1 ; i

알고리즘 2022.10.08

프로그래머스 정구 내림차순으로 배치하기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. 먼저 char 배열로 만들고 이를 정렬 후 StringBuilder에 차곡차곡 넣고 이를 parseLong으로 long타입으로 가져왔습니다. import java.util.*; class Solution { public long solution(long n) { long answer = 0; char[] charArr = Long.toString(n).to..

알고리즘 2022.10.07

프로그래머스 자연수 뒤집어서 배열로 만들기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12932 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다 먼저 String으로 바꿔 사이즈를 체크하고 이를 뒤에서 부터 배열에 넣었습니다. import java.util.*; class Solution { public int[] solution(long n) { String str = Long.toString(n); int size = str.length(); int[] answer = new int[size]; ..

알고리즘 2022.10.06

백준 1953번 팀 배분 (JAVA)

https://www.acmicpc.net/problem/1953 1953번: 팀배분 첫줄에는 청팀의 사람의 수를 출력하고, 그리고 둘째 줄에는 청팀에 속한 사람들을 오름차순으로 나열한다. 그리고 셋째 줄과 넷째 줄은 위와 같은 방법으로 백팀에 속한 인원의 수, 백팀에 속 www.acmicpc.net 저는 DFS를 통해 해당 문제를 해결하였습니다. DFS를 통해 각 인원을 팀에 넣고 해당 경우의 수가 되는지를 확인하고 된다면 출력하였습니다. package BOJ.dfs; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Set; import java.util.St..

알고리즘 2022.10.05

프로그래머스 정수 제곱근 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. 먼저 제곱근을 구하고 해당 값의 제곱이 현재 값인지 확인하고 맞다면 1증가시켜 제곱하였습니다. import java.util.*; class Solution { private static final int NOT_FOUND = -1; public long solution(long n) { long answer = NOT_FOUND; long num = (l..

알고리즘 2022.10.04

백준 2011번 암호코드 (JAVA)

https://www.acmicpc.net/problem/2011 2011번: 암호코드 나올 수 있는 해석의 가짓수를 구하시오. 정답이 매우 클 수 있으므로, 1000000으로 나눈 나머지를 출력한다. 암호가 잘못되어 암호를 해석할 수 없는 경우에는 0을 출력한다. www.acmicpc.net 저는 DP를 통해 문제를 해결하였습니다. DP를 통해 이전에 계산한 값을 다시 계산하지 않도록 하였습니다. 만약 14%에서 틀리신다면, 0 처리를 잘 하셨는지 검토하시기 바랍니다. package BOJ.dp; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; public class BOJ_2011 { pu..

알고리즘 2022.10.03

백준 4811번 알약 (JAVA)

https://www.acmicpc.net/problem/4811 4811번: 알약 입력은 최대 1000개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄이며, 병에 들어있는 약의 개수 N ≤ 30 가 주어진다. 입력의 마지막 줄에는 0이 하나 주어진다. www.acmicpc.net 저는 해당 문제를 DP를 통해 문제를 해결하였습니다. dp를 통해 한번은 알약을 쪼개고 하나는 쪼개진 알약을 먹는 경우의 수를 구하고 저장하였습니다. 저는 dp[depth][cnt] (cnt는 온전한 알약의 개수)로 표현하였습니다. depth가 2*cnt보다 크거나, cnt가 0 (온전한 알약의 개수)라면 쪼개진 반개의 알약을 먹는 경우를 추가 cnt가 0보다 크면 알약을 쪼개는 것을 구하여 문제를 해결하였습니다..

알고리즘 2022.10.02

프로그래머스 약수의 합 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 해당 문제를 구현을 통해 해결하였습니다. 구현을 통해 1부터 현재 수까지 나눠 떨어지는지를 확인하고 이 값을 더하였습니다. import java.util.*; class Solution { public int solution(int n) { int answer = cal(n); return answer; } private int cal(int num){ int result = 0; for(i..

알고리즘 2022.10.01