전체 글 147

#백준 2941 크로아티아 알파벳, 파이썬

#백준 2941 : 크로아티아 알파벳 text = input() alph = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for i in alph: if i in text: 내 머리로는 풀이가 여기서 멈춰버렸다... 어떻게 풀어야할지...ㅎㅜㅜㅜ #백준 2941 : 크로아티아 알파벳 text = input() alph = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for i in alph: text = text.replace(i,"*") print(len(text)) 크로아티아 알파벳을 *로 바꿔서 하나의 문자로 보고 문자의 개수를 세면 되는거였다..

Algorithm/Baekjoon 2022.06.29

#백준 5622 다이얼, 파이썬 in, not in 연산자

#백준 5622 : 다이얼 num = input() if len(num) 15: exit() alph = ['ABC', "DEF", "GHI", "JKL","MNO","PQRS","TUV","WXYZ"] time = 0 for i in range(len(num)): for j in alph: if num[i] in j: # 값 있는지 확인 time += alph.index(j)+3 print(time) # in 연산자 값이 있는지 확인해준다. 찾는 값이 포함되어 있으면 True, 없으면 False를 반환한다. ​ # not in 연산자 in 연산자와 반대. 찾는 값이 포함되어 있으면 False, 없으면 True를 반환한다. ​

Algorithm/Baekjoon 2022.06.29

#백준 2908 상수, 파이썬

#백준 2908 : 상수 a, b = input().split() #공백으로 구분해서 두 수 입력받기 tmp = '' for c in a: tmp = c + tmp a = tmp tmp = '' for c in b: tmp = c + tmp b = tmp if int(a) > int(b): print(a) elif int(a) < int(b): print(b) 아무래도 파이썬 문법을 잘 이해해야 코드를 깔끔하게 문제를 깔끔하게! 풀 수 있는듯. 문자열을 뒤집기 위해 reverse 함수를 사용해봤는데 적용이 안되어서 찾아보니까 reverse 함수는 리스트에서만 적용가능한 것이었다! (input()으로 입력받은 것은 문자열!!) 그래서 그냥 문자열을 뒤집고 int형으로 바꾸어 비교해서 문제를 풀었다. # 문..

Algorithm/Baekjoon 2022.06.29

#백준 1152 단어의 개수, 파이썬

#백준 1152 : 단어의 개수 text = input() if len(text)>1000000: print("잘못 입력했습니다.") else: words = text.split(' ') cnt = 0 for i in words: if i.isalpha(): cnt+=1 print(cnt) 공백으로 구분된 단어 개수 세기 words = len(text.split(' ')) 하지만 문제에서 문자열은 공백으로 시작하거나 끝날 수 있으므로 isalpha()를 이용해서 단어 개수를 구했다. 그런데 찾아보니까 split(' ')과 split()의 차이가 있더라. 이번 문제는 아래 코드처럼 풀어도 정답이다. word = input() print(len(word.split())) split()은 공백이 여러개라도 1..

Algorithm/Baekjoon 2022.06.29

#백준 1157 단어 공부, 파이썬 대문자/소문자 변경 함수, set, count 함수

#백준 1157 : 단어 공부 word = input() alph = [0 for i in range(26)] if len(word)>1000000: print("문자길이를 초과했습니다.") exit() word = word.lower() for i in range(len(word)): for j in range(len(alph)): if ord(word[i])-97==j: #아스키코드 이용해서 구분 alph[j]+=1 most = alph[0] index = 0 for i in range(len(alph)): if most < alph[i]: most = alph[i] index = i n=0 for i in range(len(alph)): if most == alph[i]: n+=1 if(n < 2)..

Algorithm/Baekjoon 2022.06.29

#백준 2675 문자열 반복, 파이썬 공백으로 구분해서 입력받기, split함수

#백준 2675 : 문자열 반복 n = int(input()) if n1000: print("잘못 입력했습니다.") for i in range(n): r, s = input().split() #공백으로 구분해서 입력받기 r = int(r) if (r8) and (len(s)20): print("잘못 입력했습니다.") for j in range(len(s)): for k in range(r): print(s[j], end='') print() # 정수 입력받기 n = int(input()) *파이썬은 기본적으로 input()으로 입력받을 때 str으로 입력받음 > int()로 정수로 바꿔주기 ​ # 공백으로 구분해서 입력받기 r, s = input().split() #str로 입력받음 r, s = map(..

Algorithm/Baekjoon 2022.06.28

#백준 10809, 파이썬 아스키코드 변환, 반복문

#백준 10809 : 알파벳 찾기 alph = [-1 for i in range(26)] c = input() for i in range(len(c)): for j in range(len(alph)): if ord(c[i])-97==j and alph[j]==-1: alph[j] = i for i in range(len(alph)): print(alph[i], end=' ') # 문자열 입력은 input()으로 받기 ​ # 파이썬 리스트 선언 alph = [-1 for i in range(26)] -1 로 초기화하면서 26개 리스트 선언 *문자열 길이, 리스트 길이 len(c) # 반복문 for i range(4): for x in [0,1,2,3]: for _ in range(4): #익명변수 _ 사용..

Algorithm/Baekjoon 2022.06.28
728x90