728x90
반응형

백준 22

[백준] [Python] 10773번 제로 - 스택

www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net Python import sys stack = [] for _ in range(int(sys.stdin.readline())): x = int(sys.stdin.readline()) if x == 0: del stack[-1] else: stack.append(x) print(sum(stack))

Algorithm Problems 2021.04.24

[백준] [Python] 10828번 스택, 10845번 큐, 10866번 덱 - 기초

www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net Python import sys stack = [] for _ in range(int(sys.stdin.readline())): command = sys.stdin.readline().split() if command[0] == "push": stack.append(int(command[1])) elif command[0] == "top": if stack == []: print(-1) els..

Algorithm Problems 2021.04.24

[백준] [Python] 1862번 미터계

www.acmicpc.net/problem/1862 1862번: 미터계 첫째 줄에 미터계에 표시된 거리가 주어진다. 단, 이 거리는 정수이고, 1 이상 999,999,999 이하이다. www.acmicpc.net 9진법을 10진법으로 변환하는 내용 4이후 부터는 1씩 밀려난 숫자이기에 즉, 4면 5, 5면 6 4보다 큰 숫자는 -1씩 해주어서 자릿수의 계수로 곱해준다 n = int(input()) length = len(str(n)) result = 0 for i in range(length): digit = n%10 n = n//10 if digit >4: result += (digit-1) * (9**i) else: result += digit * (9**i) print(result)

Algorithm Problems 2021.03.21

[백준] [Python] 2798번 블랙잭

유사 문제 첨부 wakaranaiyo.tistory.com/89 [Cos Pro 1급] 1차 10번 - 주식 매수 매도 문제 지난 연속된 n일 동안의 주식 가격이 순서대로 들어있는 리스트가 있습니다. 이 때, 다음 규칙에 따라 주식을 사고 팔았을 때의 최대 수익을 구하려 합니다. n일 동안 주식을 단 한 번 살 wakaranaiyo.tistory.com 문제 사이트 경로 www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net Pyth..

Algorithm Problems 2021.03.13

[Cos Pro 1급] [백준] 1차 2번, 3449번 - 해밍거리

문제 해밍 거리(Hamming distance)란 같은 길이를 가진 두 개의 문자열에서 같은 위치에 있지만 서로 다른 문자의 개수를 뜻 합니다. 예를 들어 두 2진수 문자열이 "10010"과 "110"이라면, 먼저 두 문자열의 자릿수를 맞추기 위해 "110"의 앞에 0 두 개를 채워 "00110"으로 만들어 줍니다. 두 2진수 문자열은 첫 번째와 세 번째 문자가 서로 다르므로 해밍 거리는 2입니다. 1 0 0 1 0 0 0 1 1 0 두 2진수 문자열 binaryA, binaryB의 해밍 거리를 구하려 합니다. 이를 위해 다음과 같이 간단히 프로그램 구조를 작성했습니다 1단계. 길이가 더 긴 2진수 문자열의 길이를 구합니다. 2단계. 첫 번째 2진수 문자열의 길이가 더 짧다면 문자열의 앞에 0을 채워넣어..

Algorithm Problems 2021.01.28

[백준] 1094 .py - 막대기

www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net x = int(input()) count =1 total = 64 cut=64 while x != total: cut//=2 if x > total: total += cut count += 1 elif x< total: total -= cut #print(total, cut,count) print(count)

Algorithm Problems 2021.01.15

[백준] 1157 .py - 단어 공부

www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net def sol(word): result = {} word = word.upper() for a in word: if a in result: result[a] += 1 else: result[a] = 1 alpha = list(result.keys()) nums = list(result.values()) max_num = max(nums) if nums.count(max_num) != 1: return '?' else: return alpha[n..

Algorithm Problems 2021.01.15

[백준] 2231 .py - 분해합

www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net n = int(input()) for i in range(n): x = i sum=i while x>0: sum += x%10 x//=10 if sum == n: print(i) break elif i==n-1: print(0)

Algorithm Problems 2021.01.15

[백준] 9020 .py - 골드바흐의 추측

www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net n = int(input()) result =[ list() for _ in range(n) ] max_num=2 for i in range(n): x = int(input()) if x % 2 == 0: result[i].append(x) else: del result[i] if max_numn: return i-1 #return 0 for num in result: if num[0]/2 ..

Algorithm Problems 2021.01.15
728x90
반응형