백준 파이썬
-
백준 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)) 이런 식으로,, ..
-
백준 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의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 ..
-
백준 11021 A+B -7IT/알고리즘 2022. 2. 16. 20:25
문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. 풀이 "Case #x: "를 적을때, x에 변수 i를 어떻게 넣지 찾아봤다. import sys count =int(sys.stdin.readline()) for i in range(1, count+1) : A,B=map(int,input().split()) print("Case #"+str(i)+":",A+B) 그래, i를 str으로 바꿔서 넣..
-
백준 2742 기찍 N 파이썬IT/알고리즘 2022. 2. 16. 19:47
문제 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 풀이 range 함수를 더 활용하는 법을 찾아봤다. import sys count =int(sys.stdin.readline()) for i in range(count,0,-1) : print(i) N 찍기 할때는 range (1, count+1) 로 끝냈는데, 내림차순으로 찾아보니 range(count,0,-1) 이렇게로도 쓸 수 있더라. 설명 (count → 내가 넣은 값에서 , 0 → 0까지, -1 → 1씩 작아지게)
-
백준 15552 빠른 A+B 파이썬IT/알고리즘 2022. 2. 16. 13:29
문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만 하면 된다. P..