프로그래머스107 코딩테스트 연습 > 월간 코드 챌린지 시즌2 > 약수의 개수와 덧셈 (제곱근 Math.sqrt) https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 먼저, 1부터 주어진 수의 제곱근까지의 범위에서 반복합니다. 이 범위를 선택하는 이유는 주어진 수의 약수는 해당 수의 제곱근보다 클 수 없기 때문입니다. 만약 제곱근보다 큰 약수가 존재한다면, 해당 약수는 이미 이전에 제곱근 이하의 약수에서 포함되었을 것입니다. 주어진 수를 반복하는 동안, 해당 수를 현재 인덱스로 나누어떨어지는지 확인합니다. 나누어떨어지면 현재 인덱스는 해당 .. 2024. 2. 22. 코딩테스트 연습 > 주문량이 많은 아이스크림들 조회하기 - MySQL(JOIN) https://school.programmers.co.kr/learn/courses/30/lessons/133027 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 SELECT FLAVOR, SUM(TOTAL_ORDER) TOTAL_ORDER FROM JULY GROUP BY FLAVOR 두 테이블을 조인을 하기전에 JULY 테이블에서 아이스크림 맛이 겹치는 경우를 GROUP BY로 합치면서 SUM으로 주문량을 구합니다. -> JULY는 두개의 공장에서 출하하기 때문입니다. 그 다음에 조인한 걸 GROUP BY로 아이스크림 맛을 합치고 .. 2024. 2. 7. 코딩테스트 연습 > 다리를 지나는 트럭 - JAVA (Queue) https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 큐를 트럭과 다리를 담당하도록 2개를 선언했다. 1. Truck Queue 우선 Queue에 truck을 다 집어 넣는다. 2. Bridge Queue 우선 Queue에 다리 길이 만큼 0을 다 집어 넣는다. 이때 0은 truck이 올라가 있지 않다는 것을 의미한다. 3. 반복문 돌리기 while문으로 Bridge Queue가 비어 있지 않는 경우 반복문을 돌린다. 다리에 올라.. 2024. 2. 4. 코딩테스트 연습 > 소수 찾기 (순열) https://school.programmers.co.kr/learn/courses/30/lessons/42839 풀이 - 나의 생각 순열을 사용해서 numbers로 만들 수 있는 모든 조합을 찾아가면서 Set에 저장(중복 제거를 위해) 그 후 소수의 갯수를 체크하면 된다. 코드 import java.util.*; import java.util.stream.Collectors; class Solution { static boolean[] visited; static String[] nums; static Set set; public int solution(String numbers) { set = new HashSet(); visited = new boolean[numbers.length()]; nums.. 2024. 1. 29. 월간 코드 챌린지 시즌1 > 쿼드압축 후 개수 세기 - JAVA (분할 정복) https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 제목이 거창하지만 결국에는 분할 정복입니다. 분할 정복은 조건에 부합하지 않을 경우 탐색 범위를 줄여가면서 조건을 부합하는 경우를 찾아가는 겁니다. 그렇기 때문에 우선 위의 그림처럼 처음에 2차원 배열을 값들을 한 번 살펴봅니다. 그랬을때 모든 값이 같으면 그 값으로 압축하면 끝 하지만 다른 값이 있으면 4등분하고 다시 검색하는 겁니다. 저 같은 경우 메소드를 하나 만들어 살펴.. 2024. 1. 22. 코딩테스트 연습 > 택배상자 - 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. 이전 1 ··· 10 11 12 13 14 15 16 ··· 18 다음