Problem Solving/Programmers
[프로그래머스, 12947] 하샤드 수 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 73.8 MB, 시간: 0.04 ms사용 알고리즘: 구현 class Solution { public boolean solution(int x) { int sum = 0; // 자릿수 합 int tmp = x; while(tmp > 0) { sum += tmp % 10; tmp /= 10; ..
[프로그래머스, 43236] 징검다리 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/43236 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 79.8 MB, 시간: 42.17 ms사용 알고리즘: 이분탐색 0 ~ distance 범위에서 이분탐색하며(m)출발지점과 도착지점을 포함한 모든 바위 사이의 거리가 m 이상이 되도록 검사한다.m보다 가까운 거리의 바위를 발견했을 때, 아직 제거할 수 있는 바위 개수가 남았다면 제거하고아니라면 m 크기를 줄여 다시 검사한다.m보다 가까운 거리의 바위를 발견하지 못했다면(발견했더라도 모두 제거할 ..
[프로그래머스, 12979] 기지국 설치 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 52.6 MB, 시간: 0.98 ms사용 알고리즘: 구현 기지국들 사이의 빈 공간에 필요한 만큼 기지국을 새로 설치한다.class Solution { public int solution(int n, int[] stations, int w) { int answer = 0; int start = 1; // 전파가 닿지 않는 구간의 시작점 f..
[프로그래머스, 12980] 점프와 순간 이동 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 72.6 MB, 시간: 0.04 ms사용 알고리즘: 그리디 알고리즘 n에서 0까지 만들건데2배 순간이동으로 이동할 수 있는 거리라면(2로 나누어 떨어진다면) 무조건 순간이동으로 이동하고,순간이동으로 이동할 수 없는 거리라면(2로 나누어 떨어지지 않는다면) 1칸 점프로 이동한다.public class Solution { public int solution(int n) { ..
[프로그래머스, 12944] 평균 구하기 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/12944 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 76 MB, 시간: 0.05 ms사용 알고리즘: 구현 class Solution { public double solution(int[] arr) { double answer = 0; for(int i = 0; i
[프로그래머스, 49995] 쿠키 구입 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/49995 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 60.4 MB, 시간: 34.83 ms사용 알고리즘: 누적 합, 자료구조 첫째 아들의 바구니 범위를 정했을 때, 해당 범위 내의 과자 수를 한 번에 구하기 위해 누적합을 sum 배열에 저장한다.또한 첫째 아들의 과자 수가 정해졌을 때, 같은 과자 수를 가지는 범위가 있는지 한 번에 구하기 위해 누적합을 HashSet에 저장해 둔다. 2중 for문으로 첫째 아들의 바구니 범위를 정하고, sum..
[프로그래머스, 42884] 단속카메라 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 58.3 MB, 시간: 9.76 ms사용 알고리즘: 탐욕법(Greedy) routes를 나가는 시간 기준 오름차순으로 정렬한다.가장 먼저 나가는 차량의 나가는 시간을 out에 저장하고, out에 cctv를 설치해 준다.다음 차량 배열들을 확인한다.out 이전에 들어오는 차량들은 out에 설치된 cctv와 만나게 되므로 그냥 보낸다.(routes가 나가는 시간 오름차순으로 정렬되어 있기 때문에..
[프로그래머스, 42842] 카펫 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 75.5 MB, 시간: 0.05 ms사용 알고리즘: 수학, 완전탐색 yellow의 가로 길이를 x, 세로 길이를 y라고 할 때,yellow = x * y이다. brown은 yellow를 한 줄 감싸고 있으므로 yellow 위아래(x * 2) + yellow 왼쪽오른쪽(y * 2) + 4개의 모서리로 이루어져 있으므로 brown = (x * 2) + (y * 2) + 4이다.이를 만족하는 x와 ..
[프로그래머스, 12937] 짝수와 홀수 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/12937 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 72.9 MB, 시간: 0.03 ms사용 알고리즘: 구현 class Solution { public String solution(int num) { String answer; if(num % 2 == 0) answer = "Even"; else answer = "Odd"; return answer; }}
[프로그래머스, 17685] [3차] 자동완성 (java)
https://school.programmers.co.kr/learn/courses/30/lessons/17685 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr메모리: 302 MB, 시간: 233.63 ms사용 알고리즘: 트리 각 단어의 문자들을 하나의 노드로 트리 형태로 만든다.단어 "go"를 만들기 위해서 root -> 'g' -> 'o' 형태로 트리를 만든다.단어 "gone"을 만들기 위해서 "go"를 만들며 이미 생성된 노드를 타고 root -> 'g' -> 'o'까지 이동한다.이어서 이동하며 'o' -> 'n' -> 'e'를 만든다.마찬가지로 "gu..