🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 💻 코드 package org.kyhslam.programmers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; public class day_1217_01 { public static boolean..
🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/86051 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 📝 풀이 💻 코드 package org.kyhslam.programmers; import java.util.Arrays; public class day_121401 { public static boolean[] visited; public static void main(String[] args) { int..
🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 💻 코드 package com.kyhslam.programmers.kakao; import java.util.Arrays; public class cp02 { public static int[][] board = { {0,0},{0,1},..
🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 💻 코드 package org.kyhslam.programmers.DevMatching2021; import java.util.Arrays; public class p01_01 { public static void main(String[] args) { int[] answer = new int[2]; ..
🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 💻 코드 import java.util.*; class Solution { private static HashMap m = new HashMap(); public int solution(String s) { int answer = 0; m.put("zero", 0); m.put("one", 1); m.put("two", 2); m.put..
🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/72410/ 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 💻 코드 package org.kyhslam.programmers.kakao2021; import java.util.Arrays; public class p01 { public static boolean isValid(char c) { if(Character.isLetterOrDigit(c)) return true; if(c == '-' || ..
🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 💻 소스 package org.kyhslam.programmers; import java.util.Arrays; //Summer/Winter Coding > 소수만들기 public class p12977 { public static int cnt = 0; public static void main(String[] args) { /* ..
🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 📝 풀이 - 각 배열의 두 값중 가장 큰 수는 가로길이, 작은 수들 중에서 큰 값이 세로 길이가 된다. 💻 코드 class Solution { public int solution(int[][] sizes) { int wMax = 0; int hMax = 0; int answer = 0; for(int i=0; i < sizes.length; i++){ in..
🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/72411?language=java 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 내코드 package com.kyhslam.programmers.kakao; import java.util.*; public class cp01 { private static List FoodMaps = new ArrayList(); private static int[] MaxCnt = new int[11]; public stat..
- DFS는 출력해주는 위치에 따라 전위 / 중위 / 후위를 표현할 수 있다. 💻 코드 package org.kyhslam.algorithm; public class d58 { public static void dfs(int v) { if(v > 7) return; else{ System.out.print(v + " "); // 전위 : 1 2 4 5 3 6 7 dfs(v*2); //System.out.print(v + " "); // 중위 : 4 2 5 1 6 3 7 dfs((v*2)+1); //System.out.print(v + " "); // 후위 : 4 5 2 6 7 3 1 } } public static void main(String[] args) { dfs(1); } }
🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 📝 풀이 종류별로 같은 이름의 옷은 없으므로 HashMap을 이용하여 풀어보았습니다. 처음 등장하는 Key는 등장 횟수를 1로 설정하고, 그 이후 등장 부터는 기존 값에 1을 더하는 방식으로 구현하였습니다. 입을 수 있는 옷 종류의 수는 각 종류별로 선택할지 안 할지 여부(+1)를 포함하여 아래와 같은 방식으로 구할 수 있습니다. (A종류 옷 가지수 + 1)*(B종류 옷 가지수 + 1)*(C종류 옷 가지수 + 1) - 1 마지막의 -1은 아무것도 선택하지 않은 경우는 없어야하므로 제외 해준 것입니다. 코드로 구현할 때는 향상된 for..
🔗 문제 [프로그래머스] 전화번호 목록 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 📝 풀이 접두사(接頭辭,prefix)는 어떤 단어(어근)의 앞에 붙어 뜻을 첨가하여 하나의 다른 단어를 이루는 말을 이른다. 예 : ‘맨주먹·덧버선·풋사과·군소리’ 등에서 ‘맨―’·‘덧―', '풋-', '군-' 따위 즉, 119는 11 9552 4421 중에서 끝자리인 1을 제외한 119552442의 접두어 이므로 false이다. 💻 코드 public static boolean solution(String[] phone..