🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 💻 코드 def solution(numbers): answer = [] data = [] for i in range(len(numbers)): cur = numbers[i] for j in range(len(numbers)): if i != j: m = numbers[j] sum = cur + m if s..
🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 💻 코드 def solution(n, lost, reserve): set_reserve = set(reserve) - set(lost) set_lost = set(lost) - set(reserve) for i in set_reserve: if i-1 in set_lost: set_lost.remove(i-1) elif i+1 in set_lost: se..
🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 🚀 풀이 가장 많이 맞힌 사람만 출력하는 거다. 또한, 가장 높은 점수를 받은 사람이 여려명일 경우 오름차순으로 출력하는 것인데 나는 모든 사람의 경우에 대해 순서대로 출력하는 줄 알고 삽질을 하고 있었다... 💻 코드 package org.kyhslam; import java.util.ArrayList; import java.util.Arrays; p..
🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 💻 코드 package org.kyhslam.programmers; import java.util.Stack; public class day_1229_01 { public static void main(String[] args) { int[][] board = { {0, 0, 0, 0, 0}, {0, 0, 1, 0, 3}, {0, 2, 5, 0, 1}, {4, 2, 4, 4, 2..
🔗 문제 https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 💻 코드 class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for (int i = 0; i < absolutes.length; i++) { if (signs[i]) { answer += (absolutes[i]); } el..
🔗 문제 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/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/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/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..