IT
-
백준 1065 한수 파이썬IT/알고리즘 2022. 2. 24. 01:15
풀이 def hansu(n) : cnt = 0 for i in range(1, n+1) : if 0 < i < 100 : cnt +=1 else : a = i//100 b = (i%100)//10 c = (i%100)%10 if (a-b) == (b-c): cnt +=1 return(cnt) num = int(input()) print(hansu(num)) 사실 문제도 이해가 어려워 블로그 탐색 후 문제 이해했음. 그리고 시작. 가장 이해하기 쉬웠던 블로그는 아래의 블로그였다. https://gabii.tistory.com/entry/BaekJoonPython3-%EB%B0%B1%EC%A4%80-1065%EB%B2%88-%ED%95%9C%EC%88%98 [BaekJoon/Python3] 백준 1065번 ..
-
백준 4673 셀프 넘버 파이썬IT/알고리즘 2022. 2. 23. 00:17
풀이 num = list(range(1, 10001)) no_self_num = set() for i in range(1, 10001): for j in str(i): i += int(j) no_self_num.add(i) cg_set_num = set(num) self_num = sorted(cg_set_num - no_self_num) for i in self_num: print(i) 이번 문제도 나를 매우 곤란하게 하여 지난번 도움 많이 받은 wook-2124님의 블로그를 참고했음을 미리 알린다. (물론 혼자서 왜 이렇게 나왔는지를 매우 고민하였음) 자, 차근차근 또 보면서 ..설명 ㄱㄱ num = list(range(1, 10001)) no_self_num = set() 1. 범위 1부터 1000..
-
백준 4344 파이썬 평균은 넘겠지IT/알고리즘 2022. 2. 22. 01:01
풀이 c = int(input()) e=[] for i in range(c) : b = list(map(int, input().split())) sum = 0 for ii in range(b[0]) : sum += b[ii +1] cnt=0 for ii in range(b[0]) : if b[ii+1] > sum/b[0] : cnt +=1 e.append((cnt/b[0])*100) b.clear() for i in range(c) : print(f'{e[i]:.3f}%') 여러가지로 고민 많이 하고 했는데, 요 분 블로그보고 제일 쉽게 이해했다. https://wook-2124.tistory.com/244 백준 알고리즘 | 4344 : 평균은 넘겠지 (Python / 파이썬) 평균은 넘겠지 출처다국어분..
-
백준 8958 OX퀴즈 파이썬IT/알고리즘 2022. 2. 21. 17:38
풀이 t_count = int(input()) for i in range(t_count) : i = list(input()) score = 0 total = 0 for a in i : if a == 'O' : score += 1 else : score = 0 total += score print(total) 설명 t_count = int(input()) 테스트 케이스의 개수를 지정해주고 for i in range(t_count) : 반복문 사용 범위는, 테스트 케이스의 개수만큼 i = list(input()) list의 형태로 OX를 넣어주기 score = 0 O가 들어오면 +1씩 해줄 score 변수를 0으로 total = 0 O의 값을 모두 더해줄 total 변수도 만들어주고 for a in i : ..
-
백준 1546 평균 파이썬IT/알고리즘 2022. 2. 21. 16:19
풀이 N = int(input()) a = list(map(int, input().split())) max_a = max(a) # print(a) # print(max_a) new = [] for i in range(N) : new.append((a[i]/max_a)*100) print(sum(new)/N) N → 몇 과목 봤는지 넣고 a → 과목당 몇 점인지 리스트형태로 넣고 max_a → 과목중 최대값 넣고 new → 라는 리스트 [] 만들어서 for 문 돌림 for i in range(N) → 범위는 N만큼 new.append((a[i]/max_a)*100) → new라는 리스트에 추가할건데 뭐를? (a[i]/max_a)* → 100 a에 넣은 과목(순서대로)를 최댓값 max_a로 나눈 후, 100..
-
백준 3052 나머지 파이썬IT/알고리즘 2022. 2. 20. 02:16
https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 풀이 A=[] for i in range(10) : A.append(int(input())%42) s = set(A) print(len(s)) set 함수를 써야했다. set 함수의 특징으로는 1. 중복을 제거한다는점 2. 순서가 없다는점 이라고함 참고한 블로그 https://velog.io/@insutance/Python-set-%EC%9D%B4%EB%9E%80 [Python] set() 이란 python 'set( ) 함수' 정리 velog.io
-
백준 2577 숫자의 개수 파이썬IT/알고리즘 2022. 2. 20. 00:18
https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 풀이 A = int(input()) B = int(input()) C = int(input()) cnt = 0 D= A*B*C x= [int(i) for i in str(D)] while True : print(x.count(cnt)) cnt += 1 if cnt == 10 : break 뭔가 더 심플하게 할 수 있을거같은데 음 다른 블로그를 찾아보니 곱한 값을 더 쉽게 리스트로 담더라. result = list(str(A*B*C)) 이런 식으로,, ..
-
백준 2562 최댓값 파이썬IT/알고리즘 2022. 2. 19. 17:02
https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 풀이 cnt = 0 list = [] while True : i = int(input()) cnt += 1 list.append(i) if cnt == 9 : break print(max(list)) print(list.index(max(list))+1) for 문으로 풀어도 되는데, while 문으로 풀었다. 처음에 틀려서 또 뭐가 틀렸는가 .. 했는데 마지막 최..