알고리즘 150

백준 1193: 분수찾기 (Python)

https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 원래 처음 코드는 이랬다,, 근데 하면서도 너무 지저분하다고 생각 + 실행 결과 시간 초과 됨ㅎ x = int(input()) n = 1 a = 1 b = 1 while x!=n : if a==1 : b += 1 n += 1 if x == n: break while b!=1 : a += 1 b -= 1 n += 1 if x == n: break if x == n: break if b==1 : a += 1 n += 1 if x == n: break while a!=1 : a -= 1 b += 1 n += 1 if x == n: b..

알고리즘/백준 2021.08.26

백준 1316: 그룹 단어 체커 (Python)

https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net n = int(input()) cnt = 0 for i in range(n): word = list(input()) word2 = [word[0]] flag = 0 for i in word: if i!=word2[len(word2)-1]: if i in word2: flag = 1 else: word2.append(i) if flag==0 : cnt += 1 pri..

알고리즘/백준 2021.08.25

백준 2941: 크로아티아 알파벳 (Python)

https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net s = input() alphabet = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="] for i in alphabet: s = s.replace(i, "a") print(len(s))

알고리즘/백준 2021.08.25

백준 2908: 상수 (Python)

https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net a, b = input().split() a = int(a[::-1])# 역순으로 저장 b = int(b[::-1])# 역순으로 저장 if a > b : print(a) else : print(b)

알고리즘/백준 2021.08.25

백준 1157: 단어 공부 (Python)

https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net word = input().upper() word_set = list(set(word)) cnt = [] for i in word_set: cnt.append(word.count(i)) if cnt.count(max(cnt))>1 : print("?") else: print(word_set[cnt.index(max(cnt))])

알고리즘/백준 2021.08.25

백준 2675: 문자열 반복 (Python)

https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net t = int(input()) for i in range(t): r, s = map(str,input().split()) for i in s: print(i*int(r),end='') print()

알고리즘/백준 2021.08.25

백준 10809: 알파벳 찾기 (Python)

https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net s = str(input()) for i in range(97,123): if chr(i) in s: print(s.index(chr(i)),end=' ') else: print(-1,end=' ')

알고리즘/백준 2021.08.25