본문 바로가기

전체 글234

코딩테스트 연습 > 같은 숫자는 싫어 - JAVA (STACK) https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 별건 없고 Stack의 맨 위의 숫자가 현재 검사하는 숫자와 같으면 pass 다르다면 Stack에 넣어주면 끝입니다. 코드 import java.util.*; public class Solution { public int[] solution(int []arr) { Stack stack = new Stack(); stack.add(arr[0]); for(int num : arr).. 2024. 2. 24.
코딩테스트 연습 > 헤비 유저가 소유한 장소 - MySQL (JOIN) https://school.programmers.co.kr/learn/courses/30/lessons/77487 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 서브쿼리를 조인하여 문제를 해결했습니다. 코드 SELECT P.* FROM PLACES P JOIN ( SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(*) > 1 ) Sub ON P.HOST_ID = Sub.HOST_ID ORDER BY P.ID; 2024. 2. 23.
코딩테스트 연습 > 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 - MySQL (CONCAT, ORDER BY) https://school.programmers.co.kr/learn/courses/30/lessons/164671 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 코드 SELECT CONCAT('/home/grep/src/',BOARD_ID,'/',FILE_ID,FILE_NAME,FILE_EXT) FILE_PATH FROM USED_GOODS_FILE WHERE BOARD_ID LIKE ( SELECT BOARD_ID FROM USED_GOODS_BOARD ORDER BY VIEWS DESC LIMIT 1 ) ORDER BY FILE_.. 2024. 2. 23.
코딩테스트 연습 > 덧칠하기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 현재 칠해야하는 위치(wall)가 현재 롤러의 위치(index)보다 크거나 같을 경우, 이 말은 새롭게 페인트를 칠해야한다는 말과 같습니다. 그렇기에 cnt를 +1 해주고 롤러의 위치(index)를 wall + m을 통해 페인트를 칠한 후의 위치로 옮겨 주면 됩니다. 그리고 롤러의 위치가 주어진 벽의 길이(n)를 넘어선다면 모든 벽을 칠한 것이기 때문에 break해주어 빠르게.. 2024. 2. 23.
코딩테스트 연습 > 전력망을 둘로 나누기 (완탐, BFS) https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 선분을 하나씩 제거하면서 BFS로 방문 후 나눠진 전력망의 크기를 비교했습니다. 코드 import java.util.*; class Solution { static List[] list; static boolean[] visited; public int solution(int n, int[][] wires) { int start = 0, end = 0, A = 0, B = 0,.. 2024. 2. 22.
코딩테스트 연습 > 월간 코드 챌린지 시즌2 > 약수의 개수와 덧셈 (제곱근 Math.sqrt) https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 먼저, 1부터 주어진 수의 제곱근까지의 범위에서 반복합니다. 이 범위를 선택하는 이유는 주어진 수의 약수는 해당 수의 제곱근보다 클 수 없기 때문입니다. 만약 제곱근보다 큰 약수가 존재한다면, 해당 약수는 이미 이전에 제곱근 이하의 약수에서 포함되었을 것입니다. 주어진 수를 반복하는 동안, 해당 수를 현재 인덱스로 나누어떨어지는지 확인합니다. 나누어떨어지면 현재 인덱스는 해당 .. 2024. 2. 22.