PS/알고리즘 문제풀이

PS/알고리즘 문제풀이

[백준]1912번 연속합(java)

https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 백준 1912번 연속합 문제 링크입니다. 핵심 연속된 수의 합이 가장 큰 값을 찾는 것이다. 이전까지 탐색했던 값과 새로운 값을 비교해나가면 쉽게 풀 수 있다. 정답 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = i..

PS/알고리즘 문제풀이

[백준]9184번 신나는 함수 실행(java)

https://www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net 백준 9184번 신나는 함수 실행 문제 링크입니다. 핵심 동적 계획법을 사용하는 것인데, 재귀와 메모이제이션을 사용한다. 정답 코드 import java.util.Scanner; public class Main{ public static int[][][] arr = new int[21][21][21]; public static void main(String[] args) { Scanner sc = n..

PS/알고리즘 문제풀이

[백준]2164번 카드2(java)

https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 백준 2164번 카드 2 문제 링크입니다. 핵심 큐를 사용하면 쉽게 풀 수 있는 문제이다. 가장 먼저 넣은 수를 제거하고, 그 뒤의 수를 맨뒤로 보낸다. 카드가 1개 남았을 때까지 반복한다. 정답 코드 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public stat..

PS/알고리즘 문제풀이

[백준]9663번 N-Queen(java)

https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 백준 9663번 N-Queen 문제 링크입니다. 핵심 N*N크기의 체스판에 N개의 퀸을 놓는다. 퀸은 일직선, 대각선으로 쭉 움직일 수 있다. 즉 각각의 퀸이 일직선과 대각선에 위치하면 안 된다. 1차원 배열을 사용하여, 각 배열의 index를 열, 값을 행으로 본다. 정답 코드 import java.util.Scanner; public class Main { public static int[] arr; publ..

PS/알고리즘 문제풀이

[백준]14888번 연산자 끼워넣기(java)

https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 백준 14888번 연산자 끼워넣기 문제 링크입니다. 핵심 N개의 수를 받고, N-1개의 연산자를 받는다. 모든 경우의 수를 찾아야 한다. 즉 백트래킹을 통해 모든 경우의 수를 확인하는 재귀 호출 문제이다. 정답 코드 import java.util.Scanner; public class Main { public static int max=Int..

PS/알고리즘 문제풀이

[백준]11729번 하노이 탑 이동 순서(java)

https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 백준 11729번 하노이 탑 이동 순서 문제 링크입니다. 핵심 첫 번째 칸에 있는 원판을 마지막 칸으로 옮기는 것인데, 작은 원판 위에 큰 원판이 올라갈 수 없고, 한 번에 1개씩 옮길 수 있다. 재귀 호출을 통해 해결할 수 있다. 정답 코드 package main; import java.io.*; public class Main { public static StringBuilder ..

PS/알고리즘 문제풀이

[백준]10828번 스택(java)

https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 백준 10828번 스택 문제 링크입니다. 핵심 매우 쉬운 문제이다. 스택에 관련된 문제를 입력하면, 그에 해당하는 스택의 메서드를 실행하면 된다. push의 경우에는 숫자를 한번 더 받는다. 정답 코드 import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Sca..

PS/알고리즘 문제풀이

[백준]1620번 나는야 포켓몬 마스터 이다솜(java)

https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 백준 1620번 나는야 포켓몬 마스터 이다솜 문제 링크입니다. 핵심 이 문제는 순서대로 들어온 포켓몬의 이름을 순서대로 도감에 저장한다. 그리고 숫자를 입력하면 그 숫자에 해당하는 포켓몬 이름이 나오고, 이름을 입력하면 그 포켓몬의 순서가 나와야 한다. 따라서 HashMap을 사용하는 것이 적절하다. 정답 코드 import java.io.BufferedReader; i..

PS/알고리즘 문제풀이

[백준]2004번 조합0의 개수(java)

https://www.acmicpc.net/problem/2004 2004번: 조합 0의 개수 첫째 줄에 정수 $n$, $m$ ($0 \le m \le n \le 2,000,000,000$, $n \ne 0$)이 들어온다. www.acmicpc.net 백준 2004번 조합 0의 개수 문제 링크입니다. 핵심 2와 5개가 짝을 이루어 곱해질 때마다 끝자리에 0이 1개 추가된다. 2와 5의 개수가 다르게 나올 수 있기 때문에, 둘 중 적게 나온 수만큼 0이 추가된다. 정답 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; publ..

PS/알고리즘 문제풀이

[백준]15650번 N과M(2) (java)

https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 백준 15650번 N과 M(2) 문제 링크입니다. 핵심 https://kimtaesoo99.tistory.com/17 [백준]15649번 N과 M(1) (java) https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해..

javajoha
'PS/알고리즘 문제풀이' 카테고리의 글 목록 (10 Page)