분류 전체보기
-
백준 알고리즘을 풀며 드는 생각생각 2022. 2. 21. 17:46
1. 맞출때 - 오 내가 생각한대로 했는데 맞았다니 와우! 나 혹시 알고리즘에..자신있어? 알고리즘,, 나 너 좋아하냐..? - 뭔가 보드게임 하는 기분. 보드게임의 규칙을 이해하고 찾아보는 느낌? - 내가 맞춘 게 진짜 맞는가 싶어 다른 블로그도 한번씩 꼭 훑어봄 2. 틀릴때 - 아니, 내가 터미널에서 돌렸을 때는 됐는데? 출력이랑 똑같잖아 왜 안되는데? 🤔 - 왜 왜틀리는데? 고민하다 몇 번 바꿔봄 - 결국 다른 분 블로그 탐방. 아니 이렇게 쉽게 풀었다고 ?😣 알고리즘 개짜증 언젠가 나도 고수같은 마인드로 풀 수 있길 ㅋㅋ
-
백준 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 문으로 풀었다. 처음에 틀려서 또 뭐가 틀렸는가 .. 했는데 마지막 최..
-
백준 1110 더하기 사이클 파이썬IT/알고리즘 2022. 2. 18. 19:56
문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 ..
-
백준 10951 A+B - 4 파이썬IT/알고리즘 2022. 2. 18. 17:18
문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 예제 입력 1 복사 1 1 2 3 3 4 9 8 5 2 예제 출력 1 복사 2 5 7 17 7 풀이 while True : try : n, x = map(int, input().split()) print(n+x) except : break try 와 except를 써야 한다고함. 출처 : https://www.acmicpc.net/board/view/43198 글 읽기 - 10951번 문제 파이썬 런타임오류 질문드립니다..