본문 바로가기
[JAVA] 백준 - 1018번: 체스판 다시 칠하기 | 브루트포스 알고리즘 1018번: 체스판 다시 칠하기 (acmicpc.net) 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net import java.util.*; import static java.lang.Math.min; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); int m = input.nextInt(); boolean[][] brd = n.. 2023. 10. 3.
[JAVA] 백준 - 11866: 요세푸스 문제 0 11866번: 요세푸스 문제 0 (acmicpc.net) 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); int k = input.nextInt(); Queue Josephus = new LinkedList(); for (int i = 1; i 2023. 9. 26.
[JAVA] 백준 - 11650: 좌표 정렬하기 11650번: 좌표 정렬하기 (acmicpc.net) 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); int[][] xy = new int[n][2]; for (int i = 0; i 2023. 9. 26.
[JAVA] 백준 - 10814번: 나이순 정렬 | Arrays.sort() 10814번: 나이순 정렬 (acmicpc.net) 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); Member[] members = new Member[n]; //ArrayList members = new ArrayList(); for (int i = 0; i 2023. 9. 25.
[c++] 백준 - 10971: 외판원 순회2 10971번: 외판원 순회 2 (acmicpc.net) 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net #include #include using namespace std; int N, W[10][10], sum_min = 10000000; bool check[10] = { 1, 0, }; void CostMin(int index, int cost, int prev) { if (index == N) { if (!W[prev][0]) return; else cost +.. 2023. 7. 30.
[c++] 백준 - 1759번: 암호 만들기 | 재귀함수 1759번: 암호 만들기 (acmicpc.net) 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net #include #include #include using namespace std; char a[15]; bool check(string &str, int l) { int m = 0; for (char x : str) if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u') m ++; return m >= 1 && l-m >= 2; } void password(i.. 2023. 7. 20.
[c++] 백준 - 15649번: N과 M (1) | 재귀함수, string 15649번: N과 M (1) (acmicpc.net) 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net #include #include using namespace std; bool used[9] = { 0, }; void go(int index, int n, int m, string num) { if (index == m) cout > M; go(0, N, M, ""); return 0; } 2023. 7. 18.
[c++] 백준 - 1259번: 팰린드롬수 1259번: 팰린드롬수 (acmicpc.net) 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net #include #include using namespace std; int main() { while (1) { string word; bool Pal = 1; cin >> word; if (word == "0") break; for (int i = 0; i < word.size() / 2; i++) if (word[i] != word[word.size()-1 - i]) Pal = 0; cout 2023. 5. 31.
[c++] 백준 - 2798번: 블랙잭 2798번: 블랙잭 (acmicpc.net) 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net #include #include #include using namespace std; int main() { int N, M, tmp, BJ = 0; cin >> N >> M; vector card; for (int i = 0; i > tmp; card.push_back(tmp); } for (int i = 0; i < N-2; ++i) { for (int.. 2023. 5. 31.