본문 바로가기

전체 글

(1837)
1085 : [기초-종합] 소리 파일 저장용량 계산하기 Q> 소리가 컴퓨터에 저장될 때에는 디지털 데이터화 되어 저장된다. 마이크를 통해 1초에 적게는 수십 번, 많게는 수만 번 소리의 강약을 체크해 그 값을 정수값으로 바꾸고, 그 값을 저장해 소리를 파일로 저장할 수 있다. 값을 저장할 때에는 비트를 사용하는 정도에 따라 세세한 녹음 정도를 결정할 수 있고, 좌우(스테레오) 채널로 저장하면 2배… 5.1채널이면 6배의 저장공간이 필요하고, 녹음 시간이 길면 그 만큼 더 많은 저장공간이 필요하다. 1초 동안 마이크로 소리강약을 체크하는 수를 h (헤르쯔, Hz 는 1초에 몇 번? 체크하는가를 의미한다.) 한 번 체크한 결과를 저장하는 비트 b (2비트를 사용하면 0 또는 1 두 가지, 16비트를 사용하면 65536가지..) 좌우 등 소리를 저장할 트랙 개수인..
1084 : [기초-종합] 빛 섞어 색 만들기 Q> 빨강(red), 초록(green), 파랑(blue) 빛을 섞어 여러 가지 빛의 색을 만들어 내려고 한다. 빨강(r), 초록(g), 파랑(b) 각각의 빛의 개수가 주어질 때, (빛의 강약에 따라 0 ~ n-1 까지 n가지의 빛 색깔을 만들 수 있다.) 주어진 rgb 빛들을 다르게 섞어 만들 수 있는 모든 경우의 조합(r g b)과 총 가짓 수를 계산해보자. 예시 int i, j, k, c=0; int r, g, b; scanf("%d%d%d”, &r, &g, &b); for(i=0; i 다중 for 문 #> admin, 2019년 10월 06일, http://codeup.kr
1083 : [기초-종합] 3 6 9 게임의 왕이 되자! Q> 3 6 9 게임을 하던 영일이는 3 6 9 게임에서 잦은 실수로 계속해서 벌칙을 받게 되었다. 3 6 9 게임의 왕이 되기 위한 마스터 프로그램을 작성해 보자. 참고 중첩의 원리 반복 실행 구조 안에 선택 실행 구조를 자유롭게 중첩할 수 있다. 예시 int i; for(i=1; i n1 = int(input()) for i in range(1, n1 + 1): if i == 3 or i == 6 or i == 9: print('X',end=' ') else: print(i, end=' ') A1> a=input() n=int(a) for i in range(1, n+1) : if i%3==0 : print('X', end=' ') else : print(i, end=' ') W> for문 #> ad..
1082 : [기초-종합] 16진수 구구단? Q> 16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운 영일(01)이는 16진수끼리 곱하는 16진수 구구단?에 대해서 궁금해졌다. A, B, C, D, E, F 중 하나가 입력될 때, 1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자. (단, A ~ F 까지만 입력된다.) 입력 16진수로 한 자리 수가 입력된다. 단, A ~ F 까지만 입력된다. 출력 입력된 16진수에 1~F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력한다. 계산 결과도 16진수로 출력해야 한다. A> s1 = input() s1_10 = int(s1, 16) for i in range(1, 16): print('{0}*{1}={2}'.format(hex(s1_10)[2:..
1081 : [기초-종합] 주사위를 2개 던지면? Q> 1부터 n까지, 1부터 m까지 숫자가 적힌 서로 다른 주사위 2개를 던졌을 때 나올 수 있는 모든 경우를 출력해보자. 참고 중첩의 원리... 반복 실행 구조도 조건 실행 구조와 마찬가지로 중첩의 원리가 적용된다. 반복 실행 구조를 중첩하면 원하는 반복 구조를 다양하게 만들어 낼 수 있다. 예시 int i, j; int n=3, m=6; for(i=1; i admin, 2019년 10월 05일, http://codeup.kr
1080 : [기초-종합] 언제까지 더해야 할까? Q> 1, 2, 3 ... 을 계속 더해 나갈 때, 그 합이 입력한 정수(0 ~ 1000)보다 같거나 작을 때까지 계속 더하는 프로그램을 작성해보자. 즉, 1부터 n까지 정수를 계속 더한다고 할 때, 어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다. 입력 정수 1개가 입력된다. 출력 1, 2, 3, 4, 5 ... 를 순서대로 계속 더해 합을 만들어가다가, 입력된 정수와 같거나 커졌을 때, 마지막에 더한 정수를 출력한다. A> n1 = int(input()) i = 1 sum = 0 while True: sum += i if sum >= n1: print(i) break i += 1 A1> a=input() n=int(a) i=0 s=0 while s while 문 #> admin..
1079 : [기초-종합] 원하는 문자가 입력될 때까지 반복 출력하기 Q> 'q'가 입력될 때까지 입력한 문자를 계속 출력하는 프로그램을 작성해보자. 입력 문자들이 1개씩 계속해서 입력된다. 출력 'q'가 입력될 때까지 입력된 문자를 줄을 바꿔 한 줄씩 출력한다. A> s1 = input().split() s1_list = list(s1) last = s1_list.index('q') for i in s1_list[:last + 1]: print(i) A1> a=input().split() for c in a : print(c) if c=='q' : break W> for문 #> admin, 2019년 10월 05일, http://codeup.kr
1078 : [기초-종합] 짝수 합 구하기 Q> 정수(1 ~ 100) 1개를 입력받아 1부터 그 수까지 짝수의 합을 구해보자. 참고 while( ) {...}, do {...} while( );, for(...; ...; ...) {...} 등의 반복문은 형태만 다르 고, 똑같은 성능을 발휘한다. 필요에 따라 편리한 것으로 골라 사용하면 된다. 예시 //아래의 예는 홀수일 경우만 더해 그 결과를 출력한다. int sum=0; int i, n; scanf("%d", &n); for(i=1; i n1 = int(input()) sum_i = 0 for i in range(n1 + 1): if i % 2 == 0: sum_i += i print(sum_i) A1> a=input() n=int(a) s=0 for i in range(1, n+1) : i..