본문 바로가기

Algorithm38

(leetcode) Valid Palindrome 주어진 문자열이 팰린드롬 인지 확인. 대소문자를 구분하지 않으며 영문자와 숫자만을 대상으로 한다. - 입력 "A man, a plan, a canal: Panama" - 출력 True 1. 리스트 자료형 사용 class Solution: def isPalindrome(self, s: str) -> bool: strs = [] for char in s: if char.isalnum(): # 문자 또는 숫자일 경우 True strs.append(char.lower()) while len(strs) > 1: if strs.pop(0) != strs.pop(): return False return True 2. 덱 자료구조를 사용한 최적화 import collections class Solution: def i.. 2021. 1. 4.
(백준) 10539번 : 수빈이와 수열 https://www.acmicpc.net/problem/10539 10539번: 수빈이와 수열 문제 수빈이는 심심해서 수열을 가지고 놀고 있다. 먼저, 정수 수열 A를 쓴다. 그리고 그 아래에 정수 수열 A의 해당 항까지의 평균값을 그 항으로 하는 정수 수열 B를 쓴다. 예를 들어, 수열 A가 1, 3, 2, 6, 8이라면, 수열 B는 1/1, (1+3)/2, (1+3+2)/3, (1+3+2+6)/4, (1+3+2+6+8)/5, 즉, 1, 2, 2, 3, 4가 된다. 수열 B가 주어질 때, 수빈이의 규칙에 따른 수열 A는 뭘까? 입력 첫째 줄에 www.acmicpc.net N, B = int(input()) , list(map(int, input().split())) #우리가 복원해야 할 리스트 #첫번.. 2019. 10. 7.
(백준) 15969 : 행복 https://www.acmicpc.net/problem/15969 15969번: 행복 모든 서브태스크에서 2 ≤ N ≤ 1,000이고 입력되는 학생들의 점수는 0 이상 1,000 이하의 정수이다. www.acmicpc.net 문제의 핵심은 결국 마지막 줄이다. 그리고 항상 코드를 돌릴 때에는 예제입력을 입력해보고 출력을 해봐야한다 N, lst = input() , list(map(int, input().split())) print(max(lst) - min(lst)) 2019. 10. 7.
(백준) 1874번 : 스택수열 2019. 9. 20.