코딩테스트 81

백준 2562 최댓값 - Python

출처 : https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 풀이 : 1. 일단 빈 리스트를 하나 만들어서 거기에 입력값을 저장해야한다. 2. 그걸 num.append()를 사용해서 추가해주는데 input을 넣어서 쭉 입력해줄 수 있다. 3. max(num)은 건너뛰겠다. 4. index 함수는 우리가 찾는 것이 어디에 있는지 알려주는 함수이다. 그래서 num.index(max(num))을 해줘서 최댓값 85에 위치..

백준 10818 최소, 최대 - python

출처 : https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 : 일단 너무 간단하게 풀었는데... 솔직한 마음으로는 N과 num 사이에 너무 연관이 없어서... 동떨어진 풀이 같다. 그래서 내 풀이는 아주 간단하게 필기하고 다른 사람의 풀이를 참고하겠다. - 참고하려고 했는데 내 풀이가 정답이다! N이 연관없는건 C와 java에서는 저것이 필요한것 같다. 1. N은 생략하고 num을 가져오는데 list를 저..

백준 1110_더하기 사이클 - python

출처 : https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 실패했다.. 실패한 코드 : 말그대로 못찾았다 뭐가 문제인지.. 일단 멈추지 않고 계속 돌은 것을 보면 내가 while break를 잘 이해 못한것 같다. 글고 한자리 수는 상관이 없는데 그거에 대해서 너무 고려했던 것 같다.. 참고한 풀이 : 1. 일단 N= int(input()) 으로 숫자를 받아온다. 그 후 과정을 카운팅 해야하므로 result=0 으로 해서 과정을 세..

백준 10952 A+B-4 -python

출처 : https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 1. 일단 앞에 쓴 10952번과 상당히 유수하다. 하지만 10952번은 0 0을 입력하면 종료해야했고 이것은 우리가 제대로 입력하지 않으면 종료 해야했다. 따라서 if를 쓰는게 아니 try except을 써준다. 2. while 1: True를 뜻하며 계속 반복한다. 3. try : a,b에 int 값이 주어지면 a+b를 출력한다. 4. except : 예외시 while을 종료한다.

백준 10952 A+B-5 - python

출처 : https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 : 1. 일단 문제 부터 뜯어보면 계속 a와 b를 더해주고 특정 a,b 가 오면 프로그램이 멈추는 시스템이다. 따라서 여기서 while을 써줄 생각을 해야한다. 2. while 1(True)를 사용해서 계속 밑 과정을 반복하도록 설계해준다. 3. 그 다음 늘 했던 대로 a,b 를 넣어준다. 4. a,b =0 이면 테스트가 종료되므로 break / else : print(a+b)를 출력해준다.

백준 10871 X보다 작은수 - python

출처 : https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 답 : 풀이 : 1. 어떻게 풀 지 부터 살펴보자. 여러가지의 입력값을 받아온 다음 for 문을 이용해 num에 있는 숫자를 하나하나 X와 비교해서 출력해보자. 2. 입력값 N과 X는 늘 했던 대로 받아와준다. 문제는 여러가지의 입력값 num 인데 이는 list(map(int, input().split())) 을 써준다. 그냥 늘 했던 거에 list를 추가해서 표현해준다고..

백준 2439 별찍기-2 - python

출처 : https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 답 : 풀이 : 1. t = int(input()) 으로 값 을 받아온다. 2. 앞으로 출력할 값을 위해 for 문을 사용 3.( 솔직히 오른쪽으로 정렬하기 위해 어떻게 해야할 지 당황스러웠다.) 오른쪽으로 정렬하기 위해서는 일단 공백이 필요했으므로 공백을 (t-i)번 만든 다음 + * x i로 별의 개수를 표현했다. 4. 좀 더 자세하게 설명하면 t = 5 i = 1 -> (5-1)개의 공백 + 1개의 별 i = 2 -> (5-..

백준 2438 별찍기-(1) - python

출처 : https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 풀이 : 해설 : 1. t에 입력값을 받아온다. 2. 그 다음 *을 어떻게 늘려올까 고민을 많이 했는데 다음처럼 개수만큼 곱해주면 간단히 해결된다. ps: 빨리 정리하구 제대로 된 알고리즘으로 넘어가고 싶다.