알고리즘/문제
-
문제 출처: https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B > 5 - 2 = 3 >> [3] 의 위치에 도달한 날 + 하루 더 5 1 6 의 경우 >> 6 - 5 = 1 >> [1] 의 위치에 도달한 날 + 하루 더 100 90 1000000000..
[BOJ/백준 - 2869] 달팽이는 올라가고 싶다문제 출처: https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B > 5 - 2 = 3 >> [3] 의 위치에 도달한 날 + 하루 더 5 1 6 의 경우 >> 6 - 5 = 1 >> [1] 의 위치에 도달한 날 + 하루 더 100 90 1000000000..
2021.09.30 -
문제 출처: https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net DP 단계별 풀어보기 카테고리에 등록된 문제로 DP 로 해결하자 일단 문제 예시 input인 10을 보자 이걸 10부터 찾아갈라는걸 공책에 손으로 해봐도 경우의 수가 좀 생기는 것을 알 수 있다 그럼 이걸 풀 때 input값에 어떤 연산을 하든 말든 상관없이 '최소한'의 연산을 하자는 것을 생각하자 이하 연산의 종류는 알파벳으로 그냥 적겠다 x: 3나누기 연산 y: 2나누기 연산 z: 1빼기 연산 그냥 직관적으로 떠올릴 수 있는 곳까지 1부터 차례대로 올라가면서 1로 가는 연산의 횟수를 적어보자 1..
[BOJ/백준 - 1463] 1로 만들기문제 출처: https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net DP 단계별 풀어보기 카테고리에 등록된 문제로 DP 로 해결하자 일단 문제 예시 input인 10을 보자 이걸 10부터 찾아갈라는걸 공책에 손으로 해봐도 경우의 수가 좀 생기는 것을 알 수 있다 그럼 이걸 풀 때 input값에 어떤 연산을 하든 말든 상관없이 '최소한'의 연산을 하자는 것을 생각하자 이하 연산의 종류는 알파벳으로 그냥 적겠다 x: 3나누기 연산 y: 2나누기 연산 z: 1빼기 연산 그냥 직관적으로 떠올릴 수 있는 곳까지 1부터 차례대로 올라가면서 1로 가는 연산의 횟수를 적어보자 1..
2021.09.27 -
문제 출처: https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 난 일단 문제 이해가 아예 안되서 문제가 뭘 뜻하는지만 찾아보고 풀어보았다 나처럼 문제의 뜻을 몰랐다면 설명을 듣고 다시 풀어보자 각각의 입력받은 좌표값을 X라고 했을때 X보다 앞에있는 좌표가 몇 개 있냐? (값이 작은 좌표가 몇 개 있냐?) 이런 문제였다. 최대한 간단하게 쓴다고 했는데 잘 이해가 안된다면 미안하고 다른사람 설명을 찾..
[BOJ/백준 - 18870] 좌표 압축문제 출처: https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 난 일단 문제 이해가 아예 안되서 문제가 뭘 뜻하는지만 찾아보고 풀어보았다 나처럼 문제의 뜻을 몰랐다면 설명을 듣고 다시 풀어보자 각각의 입력받은 좌표값을 X라고 했을때 X보다 앞에있는 좌표가 몇 개 있냐? (값이 작은 좌표가 몇 개 있냐?) 이런 문제였다. 최대한 간단하게 쓴다고 했는데 잘 이해가 안된다면 미안하고 다른사람 설명을 찾..
2021.09.08 -
문제 출처: https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 일단 수 정렬하기 1, 수 정렬하기 2는 풀었을 것이다 근데 해당 문제인 수 정렬하기 3은 문제 밑의 코멘트에 '수의 범위가 작다면 카운팅 정렬을 사용하여 더욱 빠르게 정렬할 수 있습니다.' 라고 적혀있고 작성 당시 기준 정답 비율이 22~23%이다 이걸 보면 따로 알고있는 방법이 없다면 카운팅 정렬을 써야할것을 알 수 있다 근데 카운팅 정렬을 아는가? 알면 좋은데 난 몰랐음 그래서 카운팅 정렬이 뭔지 ..
[BOJ/백준 - 10989] 수 정렬하기 3문제 출처: https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 일단 수 정렬하기 1, 수 정렬하기 2는 풀었을 것이다 근데 해당 문제인 수 정렬하기 3은 문제 밑의 코멘트에 '수의 범위가 작다면 카운팅 정렬을 사용하여 더욱 빠르게 정렬할 수 있습니다.' 라고 적혀있고 작성 당시 기준 정답 비율이 22~23%이다 이걸 보면 따로 알고있는 방법이 없다면 카운팅 정렬을 써야할것을 알 수 있다 근데 카운팅 정렬을 아는가? 알면 좋은데 난 몰랐음 그래서 카운팅 정렬이 뭔지 ..
2021.09.06 -
문제 출처: https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 코드의 설명은 주석으로 했음 기본적인 백트래킹 문제를 푸는 방법에 벗어나지 않는 문제였다. 아 그리고 이건 가능한 값이 여러개여도 하나만 출력하면 되기때문에, 종료조건에 걸리면 답을 출력하고 System.exit(0);로 종료하면 된다 이 문제로 백준 단계별로 풀어보기 백트래킹 다 풀었다 (현시점 기준. 문제는 계속 추가되는거같음) 나는 성공률보고나서 N과M 시리즈 -> N-Queen..
[BOJ/백준 - 2580] 스도쿠문제 출처: https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 코드의 설명은 주석으로 했음 기본적인 백트래킹 문제를 푸는 방법에 벗어나지 않는 문제였다. 아 그리고 이건 가능한 값이 여러개여도 하나만 출력하면 되기때문에, 종료조건에 걸리면 답을 출력하고 System.exit(0);로 종료하면 된다 이 문제로 백준 단계별로 풀어보기 백트래킹 다 풀었다 (현시점 기준. 문제는 계속 추가되는거같음) 나는 성공률보고나서 N과M 시리즈 -> N-Queen..
2021.09.05 -
https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문제는 어렵진 않은거 같은데 입력부분에서 애먹었다. 아니 왜 while문 안빠져나가짐 ;; 여튼 방법은 1. 입력받아서 값 세팅 1-1. D의 갯수가 배열의 사이즈보다 크다면 error출력 후 다음 루프 이동 1-2. D의 갯수가 0이면서 배열의 사이즈가 0일 경우 (혹은 배열입력이 "[]") "[]"출력 후 다음 루프 이동 2. 배열의 양 끝에 위치를 가리키는 인덱스변수, R에 의해서 정방향으로 이동하고 있는지, 역방향으로 이동하고 있는지를 표시하는 ..
[BOJ/백준 - 5430] AChttps://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문제는 어렵진 않은거 같은데 입력부분에서 애먹었다. 아니 왜 while문 안빠져나가짐 ;; 여튼 방법은 1. 입력받아서 값 세팅 1-1. D의 갯수가 배열의 사이즈보다 크다면 error출력 후 다음 루프 이동 1-2. D의 갯수가 0이면서 배열의 사이즈가 0일 경우 (혹은 배열입력이 "[]") "[]"출력 후 다음 루프 이동 2. 배열의 양 끝에 위치를 가리키는 인덱스변수, R에 의해서 정방향으로 이동하고 있는지, 역방향으로 이동하고 있는지를 표시하는 ..
2021.08.29