분류 전체보기 795

프로그래머스 최고의 집합 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. 저는 s가 n보다 작다면 못 찾는것으로 바로 리턴하였습니다. s를 n으로 나눈 몫과 나머지를 구하고, answer를 몫으로 채우고 나머지의 개수 만큼 1씩 늘려주어 문제를 해결하였습니다. import java.util.*; class Solution { public int[] solution(int n, int s) { if(n > s){ return ne..

알고리즘 2022.09.10

프로그래머스 JadenCase 문자열 만들기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12951# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. 공백은 공백으로 나와야하기 때문에 split를 사용하지 않고 문제를 풀었습니다. import java.util.*; class Solution { public String solution(String s) { String answer = ""; StringBuilder sb = new StringBuilder(); boolean isFirst = true..

알고리즘 2022.09.09

프로그래머스 자릿수 더하기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. answer에 n의 모듈러 연산한 값을 더하고, n을 10으로 나눈 몫으로 만들었고 이를 n이 0 초과일 때 까지만 진행하였습니다. import java.util.*; public class Solution { public int solution(int n) { int answer = 0; while(n > 0){ answer += (n % 10); n =..

알고리즘 2022.09.08

백준 1351번 무한 수열 (JAVA)

https://www.acmicpc.net/problem/1351 1351번: 무한 수열 첫째 줄에 3개의 정수 N, P, Q가 주어진다. www.acmicpc.net 저는 DP를 이용하여 문제를 해결하였습니다. n의 입력이 int를 넘기때문에 DP를 저는 Map을 이용해 표현했습니다. Map에 있다면 계산하지 않고 그 값을 리턴하도록 하였습니다. package BOJ.dp; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; import java.util.function.Function; pub..

알고리즘 2022.09.07

프로그래머스 등산코스 정하기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 우선순위 큐를 통해 문제를 해결하였습니다. 우선순위 큐를 통해 intensity가 작은 것 부터 나오도록 하였습니다. intensity가 낮은 것 부터 이동을 진행하면서 summit인 것을 찾습니다. summit이 발견되면 minValue와 minSummit을 초기화하고, 만약 intnesity가 minValue보다 크다면 while문을 빠져나오도록 하였습니다. import java.uti..

알고리즘 2022.09.06

프로그래머스 코딩 테스트 공부 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/118668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 우선순위 큐를 이용해 문제를 해결하였습니다. 먼저 problems에서 가장 큰 알고력과 코딩력을 찾습니다. 우선순위 큐를 통해 cost가 가장 낮은 것이 먼저 오도록 하였습니다. 3가지 경우로 진행하였습니다. 알고력과 cost를 1씩 올리거나, 코딩력과 cost를 1씩 올리거나, problems를 돌면서 알고력과 코딩력 둘 다 problem보다 높다면 이를 푸는 경우로 진행하였습니다. 방문..

알고리즘 2022.09.05

프로그래머스 문자열 다루기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. 구현을 통해 길이와 각각의 문자가 숫자인지를 확인하여 결과를 도출하였습니다. class Solution { public boolean solution(String s) { boolean answer = true; if(s.length() != 4 && s.length() != 6){ return false; } for(int i = 0 ; i < s.len..

알고리즘 2022.09.04

백준 17626번 Four Squares (JAVA)

https://www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 저는 DP를 이용하여 문제를 해결하였습니다. DP를 이용해 이전에 계산한 값을 다시 계산하지 않도록 하였습니다. 숫자가 해당 숫자의 제곱근의 제곱과 같은지를 확인하고 같다면 1을 리턴하고 같지 않다면 제곱근부터 1까지 줄여나가면서 숫자를 줄여나가면서 계산하였습니다. package BOJ.dp; import java.io.BufferedReader; import ..

알고리즘 2022.09.03

프로그래머스 두 큐 합 같게 만들기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 투포인트를 이용해 문제를 해결하였습니다. 저는 먼저 두큐의 합과 합께 두 큐를 합친 배열로 만들면서 첫번째 큐의 합을 구하였습니다. 두 큐의 합이 홀수라면 두 큐의 합을 같게 만들 수 없기에 바로 FAIL을 리턴하였습니다. 두 큐를 합친 배열을 투 포인트를 통해 총합의 1/2와 같은 값이 있는지를 확인하였습니다. package Programmers.KAKAO_INTERN_2022; publ..

알고리즘 2022.09.02

프로그래머스 성격 유형 검사하기(JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. choices에 중간 값을 빼고 음수인지 양수인지에 따라 앞에 점수를 부여하거나 뒤에 점수를 부여하였습니다. 결과를 도출할 때는 PERSONALITY_TYPE을 돌면서 비교하여 점수를 비교하여 결과를 도출하였습니다. PERSONALITY_TYPE을 초기화할 때 알파벳 순서대로 넣어놨기에 둘의 점수가 같다면 앞에 것을 결과로 도출하였습니다. import j..

알고리즘 2022.09.01