본문 바로가기
728x90
반응형

코딩테스트179

[프로그래머스/sql] 헤비 유저가 소유한 장소 - ORACLE 셀프조인 https://programmers.co.kr/learn/courses/30/lessons/77487?language=oracle 코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr 셀프조인이란? 동일한 테이블끼리 조회한다. FROM 문에서 같은 테이블이 두번 등장한다. 주로 테이블 내에서 데이터를 비교할 때 사용한다. 이 문제는 두번 이상 나오는 호스트 아이디를 찾아야 하는 것이니 ID는 다르지만, HOST_ID는 같은 질의를 실행하면 된다 SELECT DISTI.. 2022. 4. 1.
[프로그래머스/java] 모음사전 - 재귀를 이용하여 푸는 문제 https://programmers.co.kr/learn/courses/30/lessons/84512 코딩테스트 연습 - 모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 재귀를 이용하여 푸는 문제입니다. 제시되는 단어의 순서를 맞추는 문제입니다. 길이가 5가 될 때까지 단어를 추가해주고 길이가 5 이하이면 함수를 재귀적으로 호출하여 넘겨받은 인덱스와 이전에 완성된 단어를 넘겨주어 원하는 단어가 나오면 리턴해주면 됩니다. 이 문제를 풀면서 했던 뻘짓은 public class Vowel.. 2022. 4. 1.
[백준/java] 6593번 : 상범 빌딩 - BFS https://www.acmicpc.net/problem/6593 6593번: 상범 빌딩 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 www.acmicpc.net 이번 문제는 토마토와 비슷한 문제입니다. https://drcode-devblog.tistory.com/269 [백준/java] 7569번 : 토마토(3차원배열) BFS 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100 drcode-dev.. 2022. 3. 31.
[프로그래머스/java] 2 x n 타일링 - DP https://programmers.co.kr/learn/courses/30/lessons/12900 코딩테스트 연습 - 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 programmers.co.kr 이 문제를 풀 때, 일단 n 에 따른 갯수가 몇개인지 구해봐야한다. n = 1일때, 갯수는 1 n = 2일때, 갯수는 2 n = 3일때, 갯수는 3 n = 4일때, 갯수는 5 n = 5일때, 갯수는 8 위의 방식을 따라가다보면 피보나치 수열이 완성된다. int[] arr = new int[n + 1] 로 n+1 만큼 배열의 공간을 잡아준다. arr의.. 2022. 3. 13.
[프로그래머스/java] 124 나라의 숫자 - num[n % 3] https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 이 문제, 쉬운 것 같지만 어려웠다. 단순히 3으로 나눈 나머지만을 활용하여 푸는 문제인 줄 알았건만, 효율성 문제에서 시간초과로 탈탈 털려버렸다. 아래 와 같은 코드는 시간 초과가 나서 실패한 코드다. class Solution { public String solution(int n) { String answer = ""; int num = n, r = 0; while(num > 0) { r = num % 3; num /= 3; if(r == 0) { num--; r = 4; } answer = r + answer; } return.. 2022. 3. 13.
[프로그래머스/java] 소수찾기 - 백트래킹 사용(예제 코드 포함) https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 문제의 카테고리가 완전탐색이다. 완전탐색은? 바로 백트래킹을 쓰면 된다. 모든 조합을 브루트 포스로 다 구하면 모든 경우에 대해서 값을 다 구할 수 있다. 다음은 백트래킹 예시이다. int val = 0; boolean[] check = new boolean[len]; public void backTracking(int len, int limit,.. 2022. 3. 4.
728x90
반응형