Programming/Algorithm 237

[백준] #2822 점수 계산 python

https://www.acmicpc.net/problem/2822 2822번: 점수 계산 8개 줄에 걸쳐서 각 문제에 대한 참가자의 점수가 주어진다. 점수는 0보다 크거나 같고, 150보다 작거나 같다. 모든 문제에 대한 점수는 서로 다르다. 입력으로 주어지는 순서대로 1번 문제, 2번 문 www.acmicpc.net 📕 설명 📕 값들 중 큰 값 5개를 list에 넣고 tmp에 해당 값들을 넣고 최초 List로부터 기존의 index를 빼낸다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 li = [] for _ in range(8): li.append(int(input())) res = sorted(li)[3:] tmp = [] print(sum(res)) for i in res: tmp.append(li.index(i..

[백준] #2789 유학 금지 python

https://www.acmicpc.net/problem/2789 2789번: 유학 금지 아주 멀리 떨어져 있는 작은 나라가 있다. 이 나라에서 가장 공부를 잘하는 학생들은 모두 다른 나라로 유학을 간다. 정부는 최고의 학생들이 자꾸 유학을 가는 이유를 찾으려고 했다. 하지만, www.acmicpc.net 📕 설명 📕 replace 를 통해 CAMBRIDGE가 들어가는 것을 ""로 바꾸어 없앴다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 print(input().replace("C","").replace("A", "").replace("M", "").replace("B","").replace("R", "").replace("I","").replace("D", "").replace("G", "").replace("E"..

[백준] #2309 일곱 난쟁이 python

https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 📕 설명 📕 주어진 수를 list에 넣고 순열 조합을 통해 7개로 쪼개어 합이 100이 되는 경우의 값들을 sort하여 하나씩 출력합니다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 from itertools import permutations nanj = [] res = [] for _ in range(9): nanj.append(int(input())) N = permutations(nanj,7) for i in N..

[백준] #2386 도비의 영어 공부 python

https://www.acmicpc.net/problem/2386 2386번: 도비의 영어 공부 출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다. www.acmicpc.net 📕 설명 📕 find와 target으로 나누어 값이 있는지 count 내장함수를 통해 개수를 구한다. lower 내장함수로 값이 대문자인 경우도 고려해준다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 while True: S = list(map(str, input().split())) find = S[0] target = S[1:] if find == '#': break print(find, str(target).lower()...

[백준] #1864 문어 숫자 python

https://www.acmicpc.net/problem/1864 1864번: 문어 숫자 해류가 매우 느리고 바닥을 기어다니는 생물이 적은 바다 밑바닥에서만 발견되는 잔물결 무늬의 정체는 오랫동안 해양학자들에게 수수께끼였다. 하지만 최근의 연구 성과는 동물 언어학 분야 www.acmicpc.net 📕 설명 📕 문자열 하나씩 비교하며 자릿수에 맞게 8진수 값을 곱해준다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 while True: S = input() res = 0 if S == '#': break for i in range(len(S)): if S[i] == '~': res += 8 ** (len(S)-1-i) * 0 elif S[i] == "\\": res += 8 ** (len(S) - 1 - i) * 1 el..

[백준] #7510 고급 수학 python

https://www.acmicpc.net/problem/7510 7510번: 고급 수학 준규는 집을 짓고 있다. 준규는 모든 벽 모양을 직각 삼각형으로 만들려고 한다. 적절히 나무를 잘라 삼각형을 만들었지만, 준규는 각도를 측정할 수 있는 도구를 가지고 있지 않다. 어쩔 수 없 www.acmicpc.net 📕 설명 📕 직각삼각형의 조건, 피타고라스의 정리를 이용하여 쉽게 풀이하였다. 출력 방법은 아래와 같이 풀이하였고, fprint를 사용하여도 가능하다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 for i in range(1,int(input())+1): li = sorted(map(int, input().split())) if li[0]**2 + li[1]**2 == li[2]**2: print("Scenario..

[백준] #1834 나머지와 몫이 같은 수 python

https://www.acmicpc.net/problem/1834 1834번: 나머지와 몫이 같은 수 N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다. www.acmicpc.net 📕 설명 📕 나머지와 몫이 같아야 하므로, res 변수에 주어진 값 N에서 i부터 N - 1까지의 반복문에서 같은 수의 나머지를 더하고 같은 수를 N에 곱한 수를 res에 더해준다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 N = int(input()) res = 0 for i in range(1,N): res += N*i + i print(res)

[백준] #5691 평균 중앙값 문제 python

https://www.acmicpc.net/problem/5691 5691번: 평균 중앙값 문제 세 정수 A, B, C의 평균은 (A+B+C)/3이다. 세 정수의 중앙값은 수의 크기가 증가하는 순서로 정렬했을 때, 가운데 있는 값이다. 두 정수 A와 B가 주어진다. 이때, A, B, C의 평균과 중앙값을 같게 만드는 www.acmicpc.net 📕 설명 📕 쉬운 평균 중앙값 문제다. 가장 작은 수를 구하는 것이기 때문에, 주어진 첫 번째 수와 두 번째 수의 차이를 첫 번째 수에서 뺀다. 🧑🏻‍💻 나의 풀이 🧑🏻‍💻 while True: a, b = map(int, input().split()) if a == 0 and b == 0: break print(a - (b-a))