[BOJ] 10824번 - 네 수
문제설명 https://www.acmicpc.net/problem/10824 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net 사고과정 쉬운 문제였지만 최대한 간결하게 작성하려 했다. 어차피 4개 수가 주어지니까 for loop로 돌리는데 step = 2로 두어서 2번만의 탐색으로 답을 구할 수 있도록 했다. 풀이 import sys input = sys.stdin.readline array = list(map(str, input().split())) result = 0 for i in range(0, len(array), 2): result += int(array[i] + array[i+1]) pr..
[BOJ] 11655번 - ROT13
문제설명 https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 사고과정 처음에 아스키 코드로 13번째 뒤 문자를 의미하는 줄 알았으나 입력 예시를 쳐보고 그게 아니고 알파벳 대문자 ,소문자 상에서 각각 13번째 뒤를 의미하는 것을 깨달았다. 그래서 A~Z, a~z 별로 아스키 문자를 활용해 각 대문자, 소문자 리스트를 만들어주었다. 문자열 하나씩 돌면서 알파벳 대문자 또는 소문자 일때, 각각의 대문자, 소문자 리스트를 참조하는데, 이 때 13번째 증가한 인덱스의 값으로 대체해주면 된다. 단, 13번째 인덱스를 더했을 때..
[BOJ] 10820번 - 문자열 분석
문제설명 https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 사고과정 구현 내용은 쉬웠지만 다른 부분에서 자꾸 에러가 발생했다. 1번째는 아무것도 입력이 안되면 종료되는 EOF Error 예외처리 구문을 입력해주는 것이었고, 2번째는 EOF Error 외에 애초에 맨처음부터 아무것도 입력되지 않았을 때 while문을 빠져나가게 해줬어야 했고, 3번째는 string을 입력받을 때, 줄 바꿈(개행)으로 해서 입력을 받기 때문에 끝에 \n 이 입력된..
[BOJ] 17299번 - 오등큰수
문제설명 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 사고과정 저번 오큰수 문제로 스택을 활용해서 풀려고 했는데 어려웠다.. 단어의 개수가 추가된 것이 조금 응용된 것인데 이거를 잘 해결해내지 못했다.. 구글링을 해보니 핵심 풀이는 각 수열 원소에다가 수열에 존재하는 단어 개수를 추가하면 된다. 예를 들어, 수열이 [1, 1, 2, 3, 4, 2, 1] 이 주어졌다면 (원소 개수, 원소) 로 해서 [(3, 1), (3, 1), (2, 2), (1, 3)..
[BOJ] 1874번 - 스택 수열
문제설명 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 사고과정 문제 이해하는 데 시간이 걸렸다. 그리고 스택을 이용해야 하는데, 1부터 수열의 원소 하나하나까지 push하고 그 원소값에 해당하면 pop해야 하는 건 알겠는데 코드로 구현하지는 못했다.. 구글링을 해보았고 핵심 포인트는 특정 숫자를 입력받을 때마다 그 숫자가 같아질 때까지 1부터~그 숫자를 스택에..