일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 10926
- dp
- 백준3085
- 새싹
- 18108
- baekjoon
- 디버그심볼
- BitMasking
- 10430
- 1330
- 백준1107
- 10807
- 백준1476
- Android
- 개수 세기
- 꼬마 정민
- 2525
- Class Delegation
- 파이썬
- 브루트포스
- debugSymbolLevel
- 기본메신저
- kotlin
- 사파리 월드
- 코틀린
- PreferenceManager
- 백준
- 25083
- safari world
- Counting The number
- Today
- Total
목록백준 (88)
세상을 더 좋게
https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net word = input() data = [] for i in range(len(word)) : data.append(word[i:]) # [i:] 하면 i부터 출력을 하겠다는 의미다. data.sort() # sort함수는 오름차순으로 정렬한다. 내림차순은 revers=True 인자를 안에 넣으면 된다. for i in data : print(i) Point [i:]의 원리를 이해한다. sort 함수를 이해한다. 기본적으로 오름차순이며, 내림차순은 revers=True 인자를..
https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net n = input() # 문자열 받기 res = '' # 결과 값들을 받을 자리 for i in range(len(n)) : if n[i] == ' ' or ord(n[i]) 122 : # 13을 더했을 때 소문자범위를 벗어났을 때 res += chr(96 + (ord(n[i]) + 13) - 122) # 최대 숫자를 빼주..
https://www.acmicpc.net/problem/10824 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net a, b, c, d = input().split() # 문자들을 그냥 문자 그 자체로 받기 num1 = a + b # 문자들을 더하게 되면 문자들이 그냥 결합하게 된다. num2 = c + d print(int(num1) + int(num2)) # 결합한 문자들을 숫자로 전환해 덧셈 Point 문자와 숫자의 차이를 이해. 문자들은 덧셈을 하게 되면 문자들이 결합을 하게 된다.
https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net import sys while True : line = sys.stdin.readline().rstrip('\n') # 오른쪽 줄바꿈 삭제 if not line: # 주어진 예시 사라지면 반복문 종료 break l, u, d, s = 0, 0, 0, 0 for i in line : if i.islower() : l += 1 elif i.isupper() : u += 1 elif i.isdigi..
https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net str = input() # 문자열 받기 res = [0] * 26 # 알파벳 26자리를 미리 0으로 받아놓기 for i in str : res[ord(i) - ord('a')] += 1 # 아스키 코드를 이용하여 문자를 숫자로 바꿔 인덱스로 활용. 그리고 그 인덱스를 통해 1씩 증가 print(*res) # 앞에 *을 추가하여 리스트를 출력시 []를 없앰 Point 리스트를 활용 아스키 코드를 이용하여 문자를 숫자로 바꿔 인덱스로 활용 print 함수를 사용할 때 *을 이용하여 리스트를 출..
https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net s = list(input()) stack = [] res = '' for i in s : if i.isalpha() : res += i #알파벳일 때 바로 결과에 담기 else : if i == '(' : stack.append(i) elif i == '*' or i == '/' : while stack and (stack[-1] == '*' or stack[-1] == '/') : res ..
https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net N = int(input()) # 피연산자의 개수 sen = input() # 후위 표기식 alpha = [0] * N # 피연산자 값들을 받을 리스트 for i in range(N) : alpha[i] = int(input()) # 피연산자 값들 받기 stack = [] # 스택 for i in sen : if 'A'
https://www.acmicpc.net/problem/17299 17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net from collections import deque from collections import Counter #숫자를 세야하기에 Counter를 임포트 n = int(input()) seq = list(map(int, input().split())) cnt = Counter(seq) #Counter함수는 배열을 만드는데 (['a', 1], ...) 이런 식으로 만들어진다 oh_big = [-1] * n st..