https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 문제해석 서로 다른 자연수 9개를 입력받는다. 최댓값과 그 수가 몇번째 수인지 찾아 출력한다. 코드 문제풀이 리스트 하나를 생성한다. 자연수 9개를 입력받으므로 for문을 이용하여 9회 반복한다. input을 통해 입력받고 append함수를 통해 리스트에 값을 넣는다. 최댓값을 알려주는 max함수를 통해 값을 얻는다. 리스트의 index+1이 그 수의 번호이므로 i..
https://www.acmicpc.net/problem/2230 2230번: 수 고르기 N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 www.acmicpc.net 문제 분석 N개의 정수로 이루어진 수열 A[1],A[2],...,A[N]이 있다. 이 수열에서 두 수를 골랐을 때( 같은 수도 가능) 그 차이가 M 이상이면서 제일 작은 경우를 구하라 ※근데 같은 수를 골랐는데 차이가 생길 수도 있나..? 아무튼, 예를 들어 수열이 {1, 2, 3, 4, 5}라고 하자. 만약 M = 3일 경우, 1 4, 1 5, 2 5를 골랐을 때 그 차이가 ..
19698번: 헛간 청약 (acmicpc.net) 19698번: 헛간 청약 $1 \le N, W, H, L \le 1,000$ www.acmicpc.net 소스코드 문제 풀이 헛간의 가로 길이W 세로길이 H 이면 소는 가로로 W//L만큼 갈수 있고 세로로 H//L만큼 들어갈수 있다 따라서 헛간에 들어갈수 있는 최대 소의 수는 (W//L)*(H//L)이고 이 수가 N보다 크면 N마리가 들어갈수 있는 최대 마리수 이다
https://www.acmicpc.net/problem/13752 13752번: 히스토그램 히스토그램은 데이터를 시각적으로 표현한 것이다. 막대로 구성되며 각 막대의 길이는 데이터 양의 크기를 나타낸다. 일부 데이터가 주어지면 히스토그램을 생성하시오. www.acmicpc.net 문제 해석 '첫 번째 줄에는 테스트 케이스의 개수 n (1 ≤ n ≤ 100)이 주어진다.' => 출력할 테스트 케이스의 변수 필요 '각 테스트 케이스에 대해서 히스토그램의 크기 k와 동일한 수의 '='를 출력한다.' => '='을 출력하기 위한 반복문 필요 코드 #include using namespace std; int main() { int n; int chart; cin >> n; for (int i = 0; i < n..
문제해석 테스트 케이스를 몇 번할 것인지에 대해서 숫자를 입력받고, 입력 받은 숫자만큼 숫자를 차례대로 입력해주면, 입력해준 숫자만큼 '='이 나와야 하므로, for문을 써야겠다는 생각이 들었다. 코드 문제풀이 테스트 케이스를 입력받을 변수와 =을 얼만큼 반복해줄지 결정해주는 변수를 지정해주었다. 그 다음, for문을 중첩으로 사용하여 먼저 테스트 케이스를 얼마나 반복해줄지 결정하는 수를 입력받아 반복해주고, 그 과정 속에서 for문을 사용하여 =을 사용자가 다시 입력한 수만큼 반복할 수 있도록 해주었다.
https://www.acmicpc.net/problem/1264 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net 문제해석 문장들을 입력받는다. 각 줄의 문장마다 모음의 개수를 출력해준다. 코드 문제풀이 각 문장들을 하나의 리스트 형식으로 하여 또 다른 리스트에 넣어준다. 그리하여 이차원 리스트로 각 문장들의 문자들에 접근해준다. mo라는 변수를 통해 각 문장들에서 모음이 출현할 때 마다 하나씩 늘려주어 한 문장씩 모음의 개수를 출력해준다.
2675번: 문자열 반복 (acmicpc.net) 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 문제해석 우선 테스트 케이스의 개수와 반복할 횟수를 각각 입력받는다. 이후 입력받은 문자열 S를 반복할 횟수만큼 출력한다. 코드 문제풀이 먼저 테스트 할 개수 T를 입력받는다. 이후 반복할 횟수인 a, 반복할 문자인 b를 입력받는다. for문을 활용해 반복할 횟수의 범위를 정해준다. 입력받은 b의 j번째 문자를 반복해 출력한다. ,end=""를 이용해 줄바꿈을 막는다.
코드 N = list(map(int,input().split())) A = sorted(N) if N == A: print('Good') else: print('Bad')
문제 문제풀이 문제의 경우 0이 나오면 앞에 나온 숫자를 지우면 되기 때문에 파이썬에서는 이를 리스트를 이용하여 쉽게 구현해 낼 수 있다. 먼저 변수 a에 숫자를 입력받고 입력받은 숫자만큼 반복문을 돌려 b를 리스트에 삽입한다. 그 이후 b에 0이 나올 때마다 리스트에 가장 나중에 들어온 즉, 맨 뒤의 리스트 요소를 삭제시키고 마지막에 리스트 요소의 총 합을 출력한다. import sys a = int(sys.stdin.readline()) li = [] for i in range(a): b = int(sys.stdin.readline()) if b == 0: del li[-1] else: li.append(b) print(sum(li))
https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제해석 1. 입력할 단어를 받을 문자열 변수 s가 필요하다. 2. 26개의 알파벳의 아스키코드를 담은 리스트 alphabet_list가 필요하다. 3. 26개의 0을 다음 리스트 zero_list를 선언한 뒤 각 자리를 알파벳 순서와 대칭시킨디. ex) zero_list[0] a & zero_list[25] z 4. 문자열s 각 글자의 아스키코드를 활용하여 alphabet_list에 포함되어 있으면 해당하는 알파벳 순서와 일치하는 리스트 zero_list 자리 값에 1을 더한다. 코드 코드..
https://www.acmicpc.net/problem/17094 17094번: Serious Problem 2의 등장횟수가 더 많다면 2를 출력하고, e의 등장횟수가 더 많다면 e를 출력한다. 등장횟수가 같다면 "yee"를 출력한다. (큰 따옴표 제외) www.acmicpc.net 문제 해석 문자열의 길이를 먼저 입력받고, 문자열을 입력받은 후 2와 e의 개수를 비교한다. 2가 더 많을땐 2를 출력하고 e가 더 많을땐 e를 출력한다. 단, 둘의 개수가 같을시엔 yee 를 출력한다. 코드 #include using namespace std; string str; int n; int cnt1, cnt2; int main(void) { cin >> n; cin >> str; for (int i = 0; i..
https://velog.io/@jay6768/BOJ-Python-16395-파스칼의-삼각형 Intro 이항계수를 삼각형 형태로 배열한 파스칼의 삼각형. n번째 행의 k번째 수를 구하는 문제이다. n=3, k=2라면 정답은 2이다. Solution 크기를 n으로 하여 삼각형을 의미하는 배열 arr을 미리 만들어둔다. n번째 행의 k번째 수는 n-1번째 행의 k-1번째 수와 k번째 수를 더한 값이다. Code def main(): n, k = map(int, input().split()) arr = [[1]*i for i in range(1, n+1)] for i in range(2, n): for j in range(1, i): arr[i][j] = arr[i-1][j-1] + arr[i-1][j] pr..