본문 바로가기

코딩테스트/백준 알고리즘 풀이30

[백준 알고리즘/python] 백준 2908번 상수, 파이썬 백준 알고리즘 2908번 상수, 파이썬 이번 문제는 백준 알고리즘의 2908번 상수 문제이다. 파이썬으로 풀어봤다. 결국 문제는 숫자가 두개 주어지는데, 이 숫자를 거꾸로 뒤집어서 대소를 비교하는 문제이다. #조건 1. 첫쨰 줄에 두 수 A,B가 주어진다. #조건 2. 두 수는 같지 않은 세자리 수이며, 0이 포함되어 있지않다. 문제에 대한 내 생각이다. #생각 1. 거꾸로 돌리는 건 for문에서 i를 반대로 읽으면 될 것 같다.( 세자리 수 고정이니까) #생각 2. 그 수를 따로 저장해서 대소를 비교하고 출력 생각에 대한 내 코드이다. num1, num2 = input().split() numA, numB = str(), str() for i in range(-1,-4,-1):# 세 자리수 고정이라서 .. 2020. 3. 19.
[백준 알고리즘/python] 백준 1152번 단어의 개수, 파이썬 백준 알고리즘 1152번 단어의 개수, 파이썬 이번에는 백준 알고리즘의 1152번 단어의 개수 문제이다. 파이썬으로 풀어보았다. 문제 자체는 간단하다. 문장이 주어지는데, 이 문장에서 단어의 개수를 찾으면 된다. #조건 1. 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. #조건 2. 단어는 띄어쓰기 한 개를 기준으로 구분된다. #조건 3. 문자열의 앞과 뒤에는 공백이 있을 수 있다. 문제에 대한 내 생각이다. #생각 1. 띄어쓰기를 기준으로 받는 .split을 활용 해서 문자열 리스트에 넣는다. #생각 2. 리스트의 길이가 곧 단어의 개수이다. 바로 코드를 짜 내려 갔다. 짧았다. string = list() string = input().split() print(len(string)).. 2020. 3. 19.
[백준 알고리즘/python] 백준 1157번 단어 공부, 파이썬 백준 알고리즘 1157번 단어 공부, 파이썬 이번 문제는 백준 알고리즘의 1157번 단어 공부 문제이다. 역시 파이썬으로 풀어보았다. 솔직히 이 문제를 처음 읽었을 때는, "어, 뭐지? 좀 쉬운데?"라고 생각 했었다. 하지만 나는 "시간 초과"로 코드를 세 번이나 제출했다. 일단 언제나 그렇듯 문제 분석부터 했다. #조건 1. 첫째 줄에는 알파벳 대소문자로 이루어진 단어가 주어진다. #조건 2. 가장 많이 사용된 알파벳이 여러 개일 경우 ?를 출력한다. #조건 3. 대문자와 소문자는 구분하지 않는다. #조건 4. 출력값은 대문자이다. 이 문제에 대한 내 생각 정리이다. #생각 1. 대소문자 문자로 이루어진 문자열이 주어지는거니까 .count를 사용한다 #생각 2. 대소문자를 구분하지 않으니까, 이는 문자.. 2020. 3. 19.
[백준 알고리즘/python] 백준 2675번 문자열 반복, 파이썬 [백준 알고리즘/python] 백준 2675번 문자열 반복, 파이썬 이번에는 백준 알고리즘의 2675번 문자열 반복 문제를 풀어보았다. 내가 사용한 언어는 파이썬이다. 이 문제는 딱 보자마자 어떻게 풀어야 할지 생각이 났다. 좀 많이 쉬운 문제였다. 그래도 정리하자면, 문자열 S를 입력 받은 후에 각 문자를 R번 반복해서 새 문자열 P를 출력하는 프로그램이다. #조건 1. 첫째 줄에는 테스트 케이스의 개수가 주어진다. #조건 2. 각 테스트 케이스에는 글자 반복횟수 R과 문자열 S가 공백을 통해 주어진다. #생각 1. 테스트 케이스의 개수 만큼 반복문을 돌린다. #생각 2. 개수 만큼의 반복문 안에서, 문자열을 받아와서 글자 * 반복횟수를 출력한다. 파이썬에서는 A*5 를 수행하면 AAAAA가 나왔던걸로.. 2020. 3. 19.
[백준 알고리즘/python] 백준 10809번 알파벳 찾기, 파이썬 백준 알고리즘 10809번 알파벳 찾기, 파이썬 이번 문제는 백준 알고리즘의 10809번 알파벳 찾기 문제이다. 역시 파이썬으로 풀었다. 이 문제는 생각 할 시간이 좀 필요했다. 내 생각대로 문제를 분해해보면, #생각1. 알파벳 소문자로 이루어진 단어 S가 주어진다. #생각2. 이 단어 S에 각 알파벳이 처음 등장하는 위치를 숫자로 출력하고, 포함되지 않는 알파벳은 -1로 출력한다. #생각3. 리스트를 알파벳 개수만큼 만들고 -1로 초기화한다. #생각4. 반복문을 돌리면서 처음 나온 알파벳을 인덱스만큼 더해준다. 첫글자는 0번째 위치이다. #생각5. 중복되는 문자가 있는 경우, 리스트의 값이 -1이 아닌경우 그냥 넘어가는 것을 조건으로 한다. 위처럼 생각하고 구현하니 좀 간단하게 나오긴 했다. lst =.. 2020. 3. 18.