www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 큐 ⊙ 문제 접근 과정 Queue를 이용해 접근했다. 문제에서 원하는 건 N명의 사람을 입력받은 후, K번째마다 추출하고 String에 계속하여 추가해주면 되는 문제다. String을 계속해서 수정해주어야 하기 때문에 StringBuilder를 선언해주었다. 만약 N=5 , K= 2이면 1. {1,2,3,4,5} 2.-> {2,3,4,5,1} ☞ 2번째 제일 앞 숫자(2) 추출 3.-> {3,4,5,1} 4.-> {4,5,1,3} ..
www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 기하학 ⊙ 문제 접근 과정 조건문만 사용하면 되는 간단한 문제다. ⊙ 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(true) { int x = in.nextInt();..
www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료구조 문자열 스택 ⊙ 문제 접근 과정 스택 문제다. 하지만 반복문으로 문제를 풀어봤다. for문을 통해 값을 반복시키고 count를 활용하여 접근했다. ⊙ 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) ..
www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 구현 조합론 ⊙ 문제 접근 과정 이항 계수가 어떤 건지만 알면 풀 수 있는 문제다. 이항 계수를 풀라면 팩토리얼이 들어간다. 팩토리얼을 구현하기 위해 재귀 함수를 사용했다. 재귀 함수를 메서드로 구현한 뒤 팩토리얼로 이루어진 이항 계수를 위한 (0
www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 브루트 포스 알고리즘 ⊙ 문제 접근 과정 저번 시간에 풀었던 브루트 포스(brute force) 문제다. ☞brute 무식한 force 힘 -> 무식한 힘 ↘완전 탐색 알고리즘 모든 경우의 수를 전부 다 탐색하고 (무식하게) 대입해 충족하는 값을 찾는 방법이다. 브루트 포스 알고리즘 설계의 가장 기본은 모든 영역을 전체..
www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 문자열 정렬 ⊙ 문제 접근 과정 배열이 특정한 규칙( 1. 길이가 짧은 것부터, 2. 길이가 같으면 사전 순으로)을 통해 정렬하라는 걸 보고 함수를 어떻게 만들어야할지 고민을 했다. 생각이 끝나고 함수를 구현하고 있었는데 코드가 말도 안 되게 길어지는 것을 보고 아니라고 생각했다. 그러다 Arrays.sort의 Comparator를 알게 되..
www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 ⊙ 문제 접근 과정 다장조인 c d e f g a b C는 필요도 없었다. int [] 배열을 2개 만들어서 차례대로 올라가는 ascending과 차례대로 내려오는 descending을 만들어줬다. 그 후 입력받은 숫자 배열과 비교하여 판별하는 코드를 작성하면 좋겠다고 생각했다. 비교하는 건 메서드를 따로..
www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 구현 사칙연산 ⊙ 문제 접근 과정 코딩의 기초 중의 기초. 구구단을 풀어봤다. ⊙ 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); for (int i=1; i
www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 ⊙ 문제 접근 과정 문제를 본 후 Scanner와 배열, 반복문을 사용해야겠다고 생각했다. Scanner를 이용해 값을 입력받고 입력받은 T만큼 for문을 돌려 R과 S를 입력받았다. 그 후 출력하는 형식으로 코드를 짰다. ⊙ 문제 풀이 import java.util.Scanner; public class Main { public sta..
www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 ⊙ 문제 접근 과정 문제에서 9개의 서로 다른 자연수가 주어진 다고 하여 int [] 배열을 이용했다. 배열을 for문 통해 값을 전부 입력받고 크기를 비교했다. ⊙ 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[..
- Total
- Today
- Yesterday
- 해답
- 쉽게배우는자바프로그래밍
- Web
- 쉽게 배우는 자바 프로그래밍
- 알고리즘
- CPP
- 문자열
- 자바
- 연습문제
- 운영체제
- 쉽게배우는
- java
- 파이썬
- 우종정
- JS
- OS
- 풀이
- 답
- 정답
- 정리
- BFS
- py
- 그리디
- 구현
- 프로그래머스
- C++
- 정렬
- 백준
- 자바스크립트
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |