본문 바로가기

Programmers

(23)
[Java] 프로그래머스 : 최소직사각형 📌 문제 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 📌 풀이 가로 세로 길이 비교해서 가로가 세로보다 크면 두 위치 값을 변경한다. 그리고 가로길이가 가장 긴 것을 저장, 세로 길이 또한 마찬가지로 가장 큰 값을 저장한다. 곱하여 리턴 코드는 간단했지만 생각할수록 점점 꼬여갔던 문제이다. 📌 코드 package programmers; public class Pro_220523 { // 도움 코드 public..
[Java] 프로그래머스 : 부족한 금액 계산하기 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/82612 코딩테스트 연습 - 부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 📌 풀이 int로 로직을 구현하고 보니 일부 Edge Case에 걸려서 고민 끝에 다른 사람의 풀이를 참고하여 풀었다. (price의 최댓값은 2500, count의 최댓값 2500이다. 두 최댓값을 넣고 진행하면 int의 최대 범위를 넘어 오버플로우가 발생한다.) sum변수에 대입하기 전에 long타입으로 형 변환을 해주었다..
[Java] 프로그래머스 : 같은 숫자는 싫어 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 📌 코드 package programmers; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Pro_220518 { // 같은 숫자는 싫어 public static int[] solution(int[] arr) { ..
[Java] 프로그래머스 : 문자열 내 마음대로 정렬하기 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 📌 코드 package programmers; import java.util.Arrays; public class Pro_220513 { // 문자열 내 마음대로 정렬하기 public static String[] solution(String[] strArr, int n) { String..
[Java] 프로그래머스 : 문자열 내림차순으로 배치하기 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/12917?language=java 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 📌 코드 package programmers; import java.util.Arrays; public class Pro_220512 { // 문자열 내림차순으로 배치하기 public static String solution(String str) { String answer; String[] strA..
[Java] 프로그래머스 : 소수 찾기 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 📌 코드 package programmers; public class Pro_220509 { public static int solution(int n) { int answer = 0; for (int i = 2; i
[Java] 프로그래머스 : 시저 암호 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 📌 코드 package programmers; public class Pro_220427 { public static String solution(String str, int n) { String answer = ""; StringBuilder sb = new StringBuilder(); // 알파벳 붙이기 위해 Build..
[Java] 프로그래머스 : 이상한 문자 만들기 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 📌 코드 package programmers; public class Pro_220425 { //도움 코드 public static void main(String[] args) { String str = "try hello"; System.out.println(solution(str)); } public static String soluti..