전체 글 280

항해99 리부트코스 알고리즘 1주 4일차 단어 공부

https://www.acmicpc.net/problem/1157 문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.출력첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.예제 입력 1 복사Mississipi예제 출력 1 복사?예제 입력 2 복사zZa예제 출력 2 복사Z예제 입력 3 복사z예제 출력 3 복사Z예제 입력 4 복사baaa예제 출력 4 복사A  풀이 주석참고from collecti..

Algorithm/백준 2024.07.20

항해99 리부트코스 알고리즘 1주 - 백준 3일차 17478 재귀함수가 뭔가요?

https://www.acmicpc.net/problem/17478 문제평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다.매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대학교가 자신과 맞는가에 대한 고민을 항상 해왔다.중앙대학교와 자신의 길이 맞지 않다고 생각한 JH 교수님은 결국 중앙대학교를 떠나기로 결정하였다.떠나기 전까지도 제자들을 생각하셨던 JH 교수님은 재귀함수가 무엇인지 물어보는 학생들을 위한 작은 선물로 자동 응답 챗봇을 준비하기로 했다.JH 교수님이 만들 챗봇의 응답을 출력하는 프로그램을 만들어보자.입력교수님이 출력을 원하는 재귀 횟수 N(1 ≤ N ≤ 50)이 주어진다.출력출력 예시를 보고 재귀 횟수에 따른..

Algorithm/백준 2024.07.19

항해99 리부트코스 알고리즘 1주 - 3일차 4779 칸토어 집합

https://www.acmicpc.net/problem/4779 문제칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다.전체 집합이 유한이라고 가정하고, 다음과 같은 과정을 통해서 칸토어 집합의 근사를 만들어보자.1. -가 3N개 있는 문자열에서 시작한다.2. 문자열을 3등분 한 뒤, 가운데 문자열을 공백으로 바꾼다. 이렇게 하면, 선(문자열) 2개가 남는다.3. 이제 각 선(문자열)을 3등분 하고, 가운데 문자열을 공백으로 바꾼다. 이 과정은 모든 선의 길이가 1일때 까지 계속 한다.예를 들어, N=3인 경우, 길이가 27인 문자열로 시작한다.---------------------------여기서..

Algorithm/백준 2024.07.19

항해99 리부트코스 알고리즘 1주 - 3일차 팰린드롬 파티션

https://www.acmicpc.net/problem/2705 팰린드롬 파티션 다국어한국어   시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초128 MB95365847573.643%문제양의 정수 N의 파티션은 합이 N이 되는 수열을 말한다. 보통 숫자 사이에 +를 넣어서 나타낸다. 예를 들면15 = 1+2+3+4+5 = 1+2+1+7+1+2+1 이다.어떤 파티션을 앞에서 읽을 때와 뒤에서 읽을 때가 같으면 이 파티션을 팰린드롬 파티션이라고 한다. 위의 예에서 첫 번째 파티션은 팰린드롬 파티션이 아니지만, 두 번째 파티션은 팰린드롬 파티션이다.어떤 파티션이 m개의 정수로 이루어져 있다면, 왼쪽 절반은 처음 floor(m/2)개의 원소, 오른쪽 절반은 마지막 floor(m/2)개의 원소이다. 재귀적인..

Algorithm/백준 2024.07.19

항해99 리부트코스 알고리즘 1주 - 3일차 1074 Z

https://www.acmicpc.net/problem/1074 문제한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다.N > 1인 경우, 배열을 크기가 2N-1 × 2N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다.다음 예는 22 × 22 크기의 배열을 방문한 순서이다.N이 주어졌을 때, r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오.다음은 N=3일 때의 예이다.입력첫째 줄에 정수 N, r, c가 주어진다.출력r행 c열을 몇 번째로 방문했는지 출력한다.제한1 ≤ N ≤ 150 ≤ r, c 예제 입력 1 복사2 3 1예제 출력 1 복사11예제 입력 2..

Algorithm/백준 2024.07.19

항해99 리부트코스 알고리즘 1주 - 2일차 2740 행렬 곱셈

https://www.acmicpc.net/problem/2740 문제N*M크기의 행렬 A와 M*K크기의 행렬 B가 주어졌을 때, 두 행렬을 곱하는 프로그램을 작성하시오.입력첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개가 차례대로 주어진다. N과 M, 그리고 K는 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다.출력첫째 줄부터 N개의 줄에 행렬 A와 B를 곱한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다.예제 입력 1 복사3 21 23 45 62 3-1 -2 00 0 3예제 출력 1 복사-1 -2 6..

Algorithm/백준 2024.07.18

항해99 리부트코스 알고리즘 1주 - 2일차 2167 2차원 배열의 합

https://www.acmicpc.net/problem/2167 문제2차원 배열이 주어졌을 때 (i, j) 위치부터 (x, y) 위치까지에 저장되어 있는 수들의 합을 구하는 프로그램을 작성하시오. 배열의 (i, j) 위치는 i행 j열을 나타낸다.입력첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 합을 구할 부분의 개수 K(1 ≤ K ≤ 10,000)가 주어진다. 다음 K개의 줄에는 네 개의 정수로 i, j, x, y가 주어진다(1 ≤ i ≤ x ≤ N, 1 ≤ j ≤ y ≤ M).출력K개의 줄에 순서대로 배열의 합을 출력한다. 배열의 합..

Algorithm/백준 2024.07.18

항해99 리부트코스 알고리즘 1주 - 2일차 2018 수들의 합 5

https://www.acmicpc.net/problem/2018 문제어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한다. 이때, 사용하는 자연수는 N이하여야 한다.예를 들어, 15를 나타내는 방법은 15, 7+8, 4+5+6, 1+2+3+4+5의 4가지가 있다. 반면에 10을 나타내는 방법은 10, 1+2+3+4의 2가지가 있다.N을 입력받아 가지수를 출력하는 프로그램을 작성하시오.입력첫 줄에 정수 N이 주어진다.출력입력된 자연수 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 출력하시오  풀이import sysinput = sys.s..

Algorithm/백준 2024.07.18

항해99 리부트코스 알고리즘 1주 - 2일차 2003 수들의 합 2

https://www.acmicpc.net/problem/2003 문제N개의 수로 된 수열 A[1], A[2], …, A[N] 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 A[i] + A[i+1] + … + A[j-1] + A[j]가 M이 되는 경우의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다.출력첫째 줄에 경우의 수를 출력한다.예제 입력 1 복사4 21 1 1 1예제 출력 1 복사3예제 입력 2 복사10 51 2 3 4 2 5 3 1 1 2예제 출력 2 복사3  풀이 1..

Algorithm/백준 2024.07.18