본문 바로가기

코딩테스트

(66)
[JAVA-D3] SWEA 3809 - 화섭이의 정수 나열 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com ✅ 문제 요약n만큼 수가 주어졌을 때, 해당 숫자들로 수를 이루어라, 이때 이루지 못한 수 중에서가장 작은 수를 출력하라 🤔 문제 풀이처음 문제를 보고 완전 탐색으로 접근하려고 했었다. 하지만 주어지는 숫자의 개수를 보고 바로 다른 방법을 생각해보았다. 주어지는 숫자로 수를 이룰 때 특징은 반드시 주어지는 순서대로 이루어야 한다는 것,예를들어 3, 0, 1이 주어졌을 때 3, 0, 1, 30, 31, 301이 가능하지만 13이나 130 같은 수는이룰 수 없다. 따라서 모든 수 입력 값들을 입력받는 순서대로 하나의 문자열에 더하고0부터 시작하여 어떤 수 I가 문자열에..
[JAVA-D3] SWEA 7193 - 승현이의 수학공부 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com ✅ 문제 요약n진법 숫자 X를 입력받았을 때 X를 (n-1)로 나눈 나머지를 계산하라 🤔 문제 풀이n진법을 나누기 위해 10진법으로 변환하려면예를 들어 9진법 수 234의 경우 (2 * 9^2) + (3 * 9^1) + (4 * 9^0) 로 10진법으로 변환 할 수 있다. 이때 문제에서 요구하는 대로 ( (2 * 9^2) + (3 * 9^1) + (4 * 9^0) ) % 8을 수행해야 하는데이는 (2 * 9^2 % 8) + (3 * 9^1 % 8) + (4 * 9^0 % 8) 과 같다.여기서 규칙이 하나 있는데 n의 배수를 n-1 로 나눈 나머지는 항상 1이다.따라..
[JAVA-D3] SWEA 7272 - 안경이 없어! SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com ✅ 문제 요약시력이 좋지않은 경근이는 알파벳에 존재하는 구멍을 통해 두 알파벳이 같은지 다른지 판단한다.두 영어 문자열이 주어졌을 때 경근이의 시선에서 두 문자열이 같은지 다른지 판단한 결과를 출력하라 🤔 문제 풀이수많은 구멍개수가 없는 알파벳들을 ArrayList에 넣은코드를 작성하면 비효율적이고 else로 처리가 가능하기 때문에상대적으로 원소 개수가 적은 1개 구멍 알파벳들과 2개 구멍 알파벳인 B를ArrayList에 add해주었다. 여기서 두 문자열이 다름을 판단하는 기준은 1. 두 문자열의 길이가 다른 경우2. 두 문자열의 요소 중 동일한 위치에 동일한 구멍..
[JAVA-D3] SWEA 1229 - 암호문 2 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com ✅ 문제 요약n길이의 암호문이 주어지고 삽입 명령어 I와 삭제 명령어 D가 주어졌을 때각 명령어를 수행한 뒤 암호문의 앞에서부터 10가지 원소를 출력하라 🤔 문제 풀이별다른 알고리즘을 사용할 필요는 없었다.암호문 저장을 위해 ArrayList을 사용했고 삽입 명령어 같은 경우 삽입해야 하는 숫자들을 순차적으로 삽입해야 하므로pos위치에서 삽입을 수행할 때마다 pos++로 그 위치를 조정해주었다.위치 조정이 없다면 오히려 거꾸로 삽입이 될 수 있으니 주의! 삭제 명령어를 수행할 경우 pos위치의 원소를 삭제한 뒤, 삭제한 위치 뒤에 있는 원소들이 자동으로 앞 인덱스로..
[JAVA-D3] SWEA 5789 - 현주의 상자 바꾸기 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com ✅ 문제 요약1번부터 n번까지 상자의 번호가 0으로 채워져있고 i번에 걸쳐 l과 r이 주어졌을 때 l부터 r상자까지 i로 채운 후 결과를 출력하라 🚨CODEimport java.util.*;import java.io.*; public class Solution { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw =..
[JAVA-D3] SWEA 4047 - 영준이의 카드 카운팅 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  ✅ 문제 요약스페이드 다이아 하트 클로버 4 문양에 각각 1번부터 13번까지 총 52개의 카드가 있다고 하고이것을 하나의 완성된 덱이라고 할 때영준이가 현재 가지고있는 카드들이 입력으로 주어지고 완성된 덱을 만들기 위해 각 문양별로필요한 카드 개수를 출력하라 🤔 문제 풀이문양별로 4개의 크기가 14인 (1~13을 위한) 배열을 만들어주었다.입력 문자열을 보면 (문양, 숫자첫째자리, 숫자둘째자리) 가 주어지는데입력 문자열은 반드시 3의 배수 길이만큼 주어지기 때문에 반복문을 통해각 카드 정보의 첫 시작점 i를 받고 info[i] = 무늬, info[i+1]은 숫자첫..
[JAVA-D3] SWEA 9280 - 진용이네 주차타워 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com ✅ 문제 요약단위 무게당 요금과 자동차의 무게 그리고 자동차가 들어오고 나가는 순서가 주어진다.이때 벌어들이는 수입을 구하라. 🤔 문제 풀이풀어볼만한 구현 문제였다. 배열 R : 단위 무게당 요금 저장배열 W : 자동차 무게 저장큐 q : 자동차 입,퇴장 순서 저장배열 park : 주차 공간 현황 저장배열 info : 어떤 차가 어디에 주차했는지 정보 저장큐 wait : 주차 자리가 없어 기다리는 차량들 순서대로 저장 단위 무게당 요금과 자동차의 무게를 배열에 담아놓았고 자동차의 입,퇴장 순서를 큐에 담아 놓았다.  큐에서 하나씩 자동차의 입장, 퇴장 정보를 꺼내오..
[JAVA-D3] SWEA 3499 - 퍼펙트 셔플 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com ✅ 문제 요약문자열이 주어졌을 때 문자열을 절반씩 나누어 나뉜 두 문자열을 순차적으로 하나씩 섞은 뒤 결과를 출력하라 🤔 문제 풀이일단 주어지는 문자열의 개수가 짝수이냐 홀수이냐로 나누었다.짝수라면 반반 나누면 되지만 홀수인 경우 첫번째 배열에 1가지가 더 저장되어야되기 때문두 배열에 각각 저장한 뒤엔 두 배열에서 번갈아가며 answer배열에 저장하고 출력하면 된다. 🚨CODEimport java.util.*;import java.io.*;public class Solution { public static void main(String[] args) throws ..

반응형