반응형 백준38 백준 2108 : 통계학 (파이썬) 통계학https://www.acmicpc.net/problem/2108코드# https://teching.tistory.com/import syscnt = [0 for _ in range(8001)]n = int(sys.stdin.readline().rstrip())total = 0maxN = -4000minN = 4000for _ in range(n): num = int(sys.stdin.readline().rstrip()) cnt[num+4000] += 1 total += num maxN = max(maxN, num) minN = min(minN, num)mode = []index = 0for i in range(8001): num = i-4000 if cnt[i.. 2022. 1. 31. 백준 10989 : 수 정렬하기3(카운팅정렬) 수 정렬하기 3https://www.acmicpc.net/problem/10989 코드# https://teching.tistory.com/import sys# 계수정렬countingNum = [0] * 10001for _ in range(int(sys.stdin.readline().rstrip())): countingNum[int(sys.stdin.readline().rstrip())] += 1for i in range(10001): for _ in range(countingNum[i]): print(i)해설메모리 제한이 8MB로 빡빡한 문제이다. 계수 정렬을 구현해서 풀었다. 계수 정렬에 관한 내용은 https://teching.tistory.com/80에서 정리를 해두었다! .. 2022. 1. 30. 백준 7568 : 덩치 (파이썬) 덩치문제 https://www.acmicpc.net/problem/7568 코드import syspeoples = []for _ in range(int(sys.stdin.readline())) : peoples.append(list(map(int,sys.stdin.readline().split())))for i in peoples: k = 0 for j in peoples: if i[0] 해설처음에는 등수를 계산하는걸 어렵게 생각해서 여러번 틀렸다.몇 번 틀리고 단순하게 자기보다 덩치가 큰사람이 몇 명 있는지 확인해주면 끝나는 간단한 문제라는 걸 깨닫고 바로 새롭게 코드를 구현해서 제출하니 정답... 너무 어렵게 생각하지말고 단순하게 문제를 풀자!!! 2022. 1. 28. 백준 2447 : 별 찍기 - 10 (파이썬) 별 찍기 - 10https://www.acmicpc.net/problem/2447 코드 def star(n) : if n == 3 : return ["***", "* *", "***"] stamp = star(n//3) return [s*3 for s in stamp]+[s+' '*(n//3)+s for s in stamp]+[s*3 for s in stamp]print('\n'.join(star(int(input()))))해설*** 상* * 중*** 하먼저 패턴을 3부분으로 나누어 보자상, 중, 하으로 나누어서 생각하면 조금 편해진다.이게 무슨 소리냐면예로 n=9 이라면 구조가 아래 그림처럼 나온다.즉 star(9)의 배열은 총 9개의 배열을 가지게 되고각각 한줄씩 저장해 주.. 2022. 1. 26. 백준 1929 : 소수 구하기 (파이썬) 소수 구하기https://www.acmicpc.net/problem/1929 코드m,n = map(int,input().split())isPrime = [True for _ in range(n+1)]isPrime[0]=isPrime[1]= Falsefor num in range(len(isPrime)) : if isPrime[num] : if m해설에라토스테네스의 체를 사용하면 된다! 에라토스테네스의 체는 https://teching.tistory.com/5에 정리해놓았습니다. 에라토스테네스의 체(소수 판별 알고리즘)유명한 소수 개수 찾기 알고리즘 다수의 소수를 찾을때 사용하는 알고리즘으로 하나의 숫자마다 소수인지 판별하는 것보다 효율적이라 많이 사용한다! 소수의 배수는 소수일수가 없다.. 2022. 1. 25. 백준 11653 : 소인수분해 (파이썬) https://www.acmicpc.net/problem/11653 문제풀이 11653번: 소인수분해첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.www.acmicpc.net 코드n = int(input())while n>1 : for i in range(2,int(n**.5)+1): if n%i == 0 : print(i) n //= i break else : print(n) break풀이 간단하게 2부터 나눠지는지 확인 후 나눠지면 출력해준 뒤 n을 해당 값으로 나눈 뒤 for문을 돌리면 된다.중요한 건 이때도 제곱근까지만 확인하는 것!!그리고 제곱근까지 안 나눠진다면 n값.. 2022. 1. 25. 백준 9020 : 골드바흐의 추측 (파이썬) 문제https://www.acmicpc.net/problem/9020 코드import sysnums = []#입력for _ in range(int(sys.stdin.readline().rstrip())) : nums.append(int(sys.stdin.readline().rstrip()))#에라토스테네스의 체isPrime = [True for i in range(max(nums) + 1)]isPrime[0]=isPrime[1]=Falsefor i in range(2, len(isPrime)) : if isPrime[i]==False : continue else : for j in range(i*2, len(isPrime), i) : isPrime[j] =.. 2022. 1. 25. 백준 1978 : 소수 찾기 (파이썬) https://www.acmicpc.net/problem/1978 문제풀이 1978번: 소수 찾기첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.www.acmicpc.net코드import syssys.stdin.readline()nums = list(map(int,sys.stdin.readline().split()))answer = 0for num in nums : if num == 1 : continue for i in range(2,int(num**.5)+1) : if num%i ==0 : break else : answer +=1print(answer)코드 해설간단하게 각 숫자.. 2022. 1. 25. 백준 1011 : Fly me to the Alpha Centauri (파이썬) 문제https://www.acmicpc.net/problem/1011 문제풀이 코드import sysfor _ in range(int(sys.stdin.readline().rstrip())) : x,y = map(int,sys.stdin.readline().split()) distance = y-x sqrtDistance = distance**.5 movecnt = int(sqrtDistance)*2 - 1 # 거리가 제곱근일 경우 if sqrtDistance%1 == 0 : print(movecnt) # 거리의 제곱근의 소수점 부분이 0.5 이하일 경우 elif sqrtDistance%1 .5 : print(movecnt+2)코.. 2022. 1. 25. 이전 1 2 3 4 5 다음 반응형