[Coding Test]/[백준]
[백준] 1978 파이썬(python) : 소수 찾기
1978번: 소수 찾기 n = int(input())numbers = map(int, input().split())prime_number = 0for num in numbers: #1 error = 0 if num > 1: #2 for i in range(2, num): #3 if num % i == 0: #4 error += 1 if error == 0: #5 prime_number += 1print(prime_number) #1 : 입력받은 수들 중 하나가#2 : 1보다 크면#3 : 소수는 1과 자기자신 말고 나눠지는 수가 없는 수니가 2~num-1까지가 범위#4 : 나눠떨어지는 수가 있으면 ..
[백준] 1920 파이썬(python) : 수 찾기 - (이분탐색)
1920번: 수 찾기 이분탐색을 사용하지 않은 풀이)n = int(input())arr = set(map(int, input().split())) #1m = int(input())search_num = list(map(int, input().split()))for num in search_num: print(1) if num in arr else print(0) #1 : 파이썬의 in 함수 사용시 찾아야할 값을 줄여주기 위해 set으로 중복값을 지워준다. set으로 중복값을 지워주지 않으면 '시간 초과'가 발생한다. 이분탐색을 사용한 풀이)n = int(input())arr = list(map(int, input().split()))m = int(input())search_number =..
[백준] 1259 파이썬(python) : 팰린드롬수 - (문자열 슬라이싱)
1259번 : 팰린드롬수 가운데를 중심으로 대칭을 이루는지 확인하는 문제다. 리스트 슬라이싱을 사용하는 방법과 사용하지 않는 방법 2가지가 있다. 리스트 슬라이싱 사용하지 않은 풀이 while True: n = input() check = True if n == '0': break for i in range(len(n)//2): if n[i] != n[len(n)-1-i]: print('no') check = False break if check == True: print('yes') 리스트 슬라이싱 사용한 풀이 import sys while True: string = sys.stdin.readline().rstrip() if string == '0': break else: if string == str..
[백준] 1181 파이썬(python) : 단어 정렬 - (★)
1181번: 단어 정렬 n = int(input())word = []for i in range(n): word.append(input()) #1set_word = list(set(word)) #2sort_word = []for i in set_word: sort_word.append((len(i), i)) #3result = sorted(sort_word) #4for len_word, word in result: #5 print(word) #1 : 입력받은 단어를 word리스트에 추가#2 : set()함수로 중복값을 제거해주고 리스트화#3 : 길이와 함께 단어를 sort_word에 추가$4 : 튜플에선 첫번째 원소를 기준으로 정렬되기 때문에 sort_word를 정렬(그 이후는 사전..
[백준] 1316 파이썬(python) : 그룹 단어 체커 - (★)
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net import sys t = int(sys.stdin.readline()) group_word = 0 for _ in range(t): string = sys.stdin.readline().rstrip() error = 0 for index in range(len(string)-1): #1 if string[index] != string[index+1]: #2 new..
[백준] 2941 파이썬(python) : 크로아티아 알파벳 - (replace함수)
2941번: 크로아티아 알파벳 word = input()croatia = [ 'c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=' ] #1for i in croatia: word = word.replace(i, '*') #2print(len(word)) #3 #1 : 모든 크로아티아 문자를 저장해준다.#2 : word 문자열에 있는 크로아티아 문자를 "*"로 대체한다.#3 : 크로아티아 문자가 아닌것은 그대로 남아 있기에 "*"와 함께 길이를 세어주면 된다. 인식할 수 없는 크로아티아어를 다른 문자로 변경해서 전체 숫자를 세어주는것이 핵심이다. 문자열 문제는 문제마다 특별한 아이디어를 이용해 풀어야 하는것 같다. 파이썬 replace함수 (https://..