본문 바로가기
728x90
반응형

프로그래머스64

[프로그래머스/java] 오픈채팅방 - 2019 KAKAO BLIND RECRUITMENT - 리스트(List)를 배열(Array)로 https://programmers.co.kr/learn/courses/30/lessons/42888?language=java 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 이 문제의 핵심은 "최종적으로 관리자에게 보여지는 닉네임의 출입 상태"를 리턴하면 되는 것. 아이디에 따라 닉네임이 변화되는 모습을 보면 (1) "Enter uid1234 Muzi" uid1234 : Muzi (2) "Enter uid4567 Prodo" uid1234 : Muzi uid4567 : Prodo (3) "Leave uid1.. 2022. 4. 5.
[프로그래머스/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] 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
반응형