본문 바로가기
반응형

PS 문제 풀이/Baekjoon446

[BOJ] 백준 15652 N과 M(4) 출처: https://www.acmicpc.net/problem/15652 Input 4 2 Output 1 1 1 2 1 3 1 4 2 2 2 3 2 4 3 3 3 4 4 4 중복을 허용하는 조합 문제이다. 중복 없는 조합과 문제 [BOJ] 15650 N과 M (2)와 달리 기존의 선택한 원소를 다시 선택할 수 있다. ▶ 순열과 조합 (백준 N과 M 시리즈) 순열과 조합 (백준 N과 M 시리즈) 순열과 조합 순열(Permutation) / 조합(Combination)에서 개수를 구하는 경우에는 아래 공식을 이용하면 되지만 순열 및 조합으로 경우의 수가 필요한 경우에는 재귀를 이용해야한다. ① P(4, 3) = 4 x 3 x 2 zoosso.tistory.com C / C++ #include const .. 2021. 2. 21.
[BOJ] 백준 15651 N과 M(3) 출처: https://www.acmicpc.net/problem/15651 Input 4 2 Output 1 1 1 2 1 3 1 4 2 1 2 2 2 3 2 4 3 1 3 2 3 3 3 4 4 1 4 2 4 3 4 4 중복 되지 않는 순열 문제 [BOJ] 15649 N과 M (1)와 차이는 vistied[]를 제거한 부분이다. 즉, 방문 표시가 없으므로 재방문이 가능해져서 "중복 가능한 순열"이 된다. ※ 이 문제에서는 출력속도를 맞추기 위해 BufferedWriter 이용 C / C++ #include const int MAX_N = 8 + 2; int N, M, ans[MAX_N]; bool visited[MAX_N]; void DFS(int depth) { if (depth == M) { for .. 2021. 2. 21.
[BOJ] 백준 1002 터렛 출처: https://www.acmicpc.net/problem/1002 Input 5 0 0 13 40 0 37 0 0 3 0 7 4 1 1 1 1 1 5 0 0 100 1 1 1 0 0 2 1 0 1 Output 2 1 0 0 (하나의 원안에 다른 원이 위치) 1 (내접) 아래와 같이 두 원의 중점과 반지름이 주어졌을 때, 교점 개수를 찾는 문제이다. 두 점 사이의 거리 공식 두 원의 교점은 크게 6가지로 분류할 수 있다. (1) 두 원이 2개의 지점에서 교차하는 경우 (2) 두 원이 1개의 지점에서 교차하는 경우 (3) 두 원이 만나지 않는 경우 (4) 두 원의 위치와 반지름(반경)이 동일하여 교차점이 무한대인 경우 (5) 한 개의 원이 다른 원안에 있는 경우 (6) 내접해서 한 개의 지점에서 교차.. 2021. 2. 21.
[BOJ] 백준 2941 크로아티아 알파벳 출처: https://www.acmicpc.net/problem/2941 Input nljj Output 3 Input c=c= Output 2 변경된 문자에서 크로아티아 알파벳이 몇 개 인지 출력하는 문제이다. 예를 들어, [ljes=njak]은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 목록 외에 알파벳은 한 글자씩 센다. * 주의해야하는 case는 'dz='만 주어진 목록에서 3글자이므로 배열 indxe 제어 예외 처리 import java.util.Scanner; public c.. 2021. 2. 21.
[BOJ] 백준 2960 에라토스테네스의 체 출처: https://www.acmicpc.net/problem/2960 Input 10 7 Output 9 ▶ 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. 에라토스테네스의 체를 구현해서 제외되는 소수를 차례대로 구하는 문제입니다. ※ 관련 내용은 아래 링크 참고 소수 (Prime Number) 찾기 - 3 zoosso.tistory.com #include using namespace std; const int MAX = 1001; int N, K; bool isPrime[MAX]; int solve(){ // 모든 수를 소수로 가정 for(int i = 2; i > K; cout 2021. 2. 21.
[BOJ] 백준 1929 소수 구하기 출처: https://www.acmicpc.net/problem/1929 Input 3 16 Output 3 5 7 11 13 에라토스테네스의 체 이용 소수 (Prime Number) 찾기 - 3 소수 (Prime Number) 찾기 - 3 zoosso.tistory.com import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int m = Integer.parseInt(sc.next()); int n = Integer.parseInt(sc.next()); int arr[] = new int[n+1]; arr[1] = 1; // 1은 소수.. 2021. 2. 21.
[BOJ] 백준 1747 소수&팰린드롬 출처: https://www.acmicpc.net/problem/1747 Input 31 Output 101 소수(Prime Number)이면서 팰린드롬을 만족하는 숫자를 찾는 문제이다. ※ 아래 두 게시글 참고 - [BOJ] 1259 팰린드롬수 [BOJ] 백준 1259 팰린드롬수 출처: https://www.acmicpc.net/problem/1259 Input 121 1231 12421 0 Output yes no yes 팰린드롬은 [radar], [sees]와 같이 앞뒤로 읽어도 똑같은 단어를 의미한다. 처음 지점 [s]와 끝 지점 [e]에서 부터.. zoosso.tistory.com - 소수(Prime Number) 찾기 소수(Prime Number) 찾기 - 1 zoosso.tistory.com.. 2021. 2. 21.
[BOJ] 백준 1259 팰린드롬수 출처: https://www.acmicpc.net/problem/1259 Input 121 1231 12421 0 Output yes no yes 팰린드롬은 [radar], [sees]와 같이 앞뒤로 읽어도 똑같은 단어를 의미한다. 처음 지점 [s]와 끝 지점 [e]에서 부터 거리를 좁혀가며 일치여부를 파악한다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true) { int N = Integer.parseInt(sc.next()); if (N == 0) return; if(isPalindrome(N)) { Syste.. 2021. 2. 21.
[BOJ] 백준 2581 소수 출처: https://www.acmicpc.net/problem/2581 Input 60 100 Output 620 61 m(=60)과 n(=100) 사이의 소수 : 61, 67, 71, 73, 79, 83, 89, 9 (소수가 없는 경우 '-1' 출력) m과 n 사이에 소수가 존재 유무에 따라 소수들의 합과 최솟값 도출. ▶ 소수(Prime Number) 찾기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int m = Integer.parseInt(sc.next()); int n = Integer.parseInt(sc.next(.. 2021. 2. 21.
[BOJ] 백준 1978 소수 찾기 출처: https://www.acmicpc.net/problem/1978 Input 4 1 3 5 7 Output 3 배열 원소 중 소수를 찾는 기본 문제이다. ※ 소수(Prime Number)란? 1과 자기자신으로만 나누어 떨어지는 수를 의미. ※ 『1』은 소수가 아니다. ※ 소수(Prime Number) 찾기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.next()); int[] arr = new int[n]; for(int i=0; i 2021. 2. 20.
반응형