👩‍💻 알고리즘/🐢 PYTHON 14

백준 2902번

https://www.acmicpc.net/problem/2920 문제 >다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다.1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다.연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오. 솔루션 :list로 입력받고 비교하면 될 것 같다.num = list(map(int,input().split(" ")))if num == [1,2,3,4,5,6,7,8]: ..

[스택 예제] 백준 10828번

https://www.acmicpc.net/problem/10828 문제 :정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.솔루션 : 처음에 명령어 개수 숫자 받고각 기능 if문으로 받아 출력한다. (def로 정의해도 되는 듯) 🌟 중요 포인트는 in..

[스택 예제] 백준 9012번

https://www.acmicpc.net/problem/9012 문제 : 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 ..

[스택 예제] 백준 10773번

https://www.acmicpc.net/problem/10773 문제 : 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다.정수가 "0"일 경우에 지울 수 있는 수가 있음을 보장할 수 있다. 생각한 솔루션 :들어오는 수를 PUSH로 리스트에 받고, 0이 입력되면 POP. 최종 리스트에 있는 수를 모두 더한다.k = int(input())stack = []for i in range(k): num = int(input()) if num ==0: stack.pop() else: stack.appe..

온도 변환

# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수def fahrenheit_to_celsius(fahrenheit): return (fahrenheit-32)*5 / 9temperature_list = [40, 15, 32, 64, -4, 11]cles = [round(fahrenheit_to_celsius(i),1) for i in temperature_list] print("화씨 온도 리스트: {}".format(temperature_list)) # 화씨 온도 출력 # 리스트의 값들을 화씨에서 섭씨로 변환하는 코드를 입력하세요print("섭씨 온도 리스트: {}".format(cles))

각 자릿수 합 구하기

# sum_digit 함수 정의def sum_digit(num): # 각 자릿수의 합을 저장할 변수를 초기화합니다. total = 0 # num이 0보다 클 동안 반복합니다. while num > 0: # num을 10으로 나눈 나머지를 구해서 각 자릿수를 얻습니다. digit = num % 10 # 각 자릿수를 total에 더합니다. total += digit # num을 10으로 나눠 한 자릿수씩 줄입니다. num = num // 10 # 최종적으로 각 자릿수의 합인 total을 리턴합니다. return total# sum_digit(1)부터 s..