일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- graph
- Python
- udemy
- 따배씨
- web
- 백준
- C언어
- Algorithm
- String
- 생활코딩
- programmers
- Math
- 따라하면서 배우는 C언어
- JavaScript
- 인프런
- BASIC
- Cleancode
- 정수론
- C
- sorting
- 따라하며 배우는 C언어
- php
- BFS
- DP
- greedy
- server
- BOJ
- Algospot
- 종만북
- dfs
- Today
- Total
목록Algorithm PS/BOJ (113)
몽상실현개발주의
[BOJ] 10809 / 알파벳 찾기 / Python 파이썬 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 풀이 BOJ] 10809 / 알파벳 찾기 문자와 마찬가지로 Dictionary 를 활용하여 알파벳의 첫 index 를 저장해 주었다. alphaDic = {'a':0, 'b':0, 'c':0, 'd':0, 'e':0, 'f':0, 'g':0, 'h':0, 'i':0, 'j':0, 'k':0, 'l':0, 'm':0, 'n':..
[BOJ] 10808 / 알파벳 개수 / Python 파이썬 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 제목 Dictionary 를 활용하여 각 단어의 개수를 카운트 해 주었다. alphaDic = {'a':0, 'b':0, 'c':0, 'd':0, 'e':0, 'f':0, 'g':0, 'h':0, 'i':0, 'j':0, 'k':0, 'l':0, 'm':0, 'n':0, 'o':0, 'p':0, 'q':0, 'r':0, 's':0, 't':0, 'u':0, 'v':0, 'w':0, 'x':0, 'y':0, 'z':0 } string..
[BOJ] 2743 / 단어 길이 재기 / Python 파이썬 https://www.acmicpc.net/problem/2743 2743번: 단어 길이 재기 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 문자열의 모든 문자가이 알파벳이면 true 를 반환하는 method 인 isalpha() 를 활용하면 된다. res = 0 for s in input(): res += 1 if s.isalpha() else 0 print(res)
[BOJ] 10799 / 쇠막대기 / Python 파이썬 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 풀이 [BOJ] 9012 / 괄호 문제의 응용이다. 쇠막대기를 표현한 괄호를 각각 여는 괄호"(" : +1 닫는괄호 ")" : -1 겹치지는 쇠막대기 갯수를 카운팅 해주었다. "()" 를 찾아 레이저 절단 위치를 찾아 잘라진 조각을 더해주고, 조각이 끝나는 부분에서 잘려진 쇠막대 조각이 하나 더 생기는 것을 추가로 더해주었다. pipe = input(..
[BOJ] 9012 / 괄호 / Python 파이썬 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 풀이 괄호는 여는 괄호인 "(" 와 닫는 괄호인 ")" 의 개수와 괄호의 구성이 맞는 VPS 를 찾는 문제이다. "(" 가 나오면 +1 을 ")" 가 나오면 -1 을 해주는 방법으로 여는 괄호와 닫는 괄호의 수를 맞추어주고, 모든 괄호가 끝나는 경우에 합이 0이 되는 경우에만 "YES" 를 출력하면 된다. N = i..
[BOJ] 10828 / 스택 / Python 파이썬 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 Stack 을 구현하는 문제이다. Python 의 List 를 활용하면 된다. import sys N = int(sys.stdin.readline()) stack = [] for _ in range(N): order = sys.stdin.readline().split() if order[0] == 'push': stack..
[BOJ] 11004 / K 번째 수 / Python https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 Python 의 정렬을 사용하면 간단히 풀리는 문제이다. import sys N, K = map(int, sys.stdin.readline().split()) nums = list(map(int, sys.stdin.readline().split())) nums.sort() print(nums[K-1])
[BOJ] 11652 / 카드 / Python 파이썬 https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 풀이 중복 되는 숫자의 갯수를 처리하기 위하여 Dictionary 를 사용하였다. 그리고 조건에 맞추어 정렬하기 위하여, Dictionary 의 key 와 value 를 tuple 로 받아오는 items() method 와 Lambda 를 사용 하였다. Python Dictionary items() The items() method ret..