본문 바로가기

codeup57

1087. 여기까지! 이제 그만~ 1, 2, 3 ... 을 순서대로 계속 더해나갈 때, 그 합이 입력한 정수보다 작을 동안만 계속 더하는 프로그램을 작성해보자. 즉, 1부터 n까지 정수를 계속 더한다고 할 때, 어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다. 하지만, 이번에는 그 때의 합을 출력해야 한다. 예를 들어 57을 입력하면 1+2+3+...+8+9+10=55에 다시 11을 더해 66이 될 때, 그 값 66이 출력되어야 한다. 참고 조건문이나 반복문의 코드블록 안에서 break;가 실행되면 가장 가까운 반복 코드블록 구역의 밖으로 빠져나간다. 예시 int n, i, s=0; scanf("%d", &n); for(i=1; ; i++) //for 반목문에서 가운데의 조건이 빠진 경우 무한 반복된다. { s+=.. 2023. 5. 3.
1086. 그림 파일 저장용량 계산하기 이미지가 컴퓨터에 저장될 때에도 디지털 데이터화 되어 저장된다. 가장 기본적인 방법으로는 그림을 구성하는 한 점(pixel, 픽셀)의 색상을 빨강(r), 초록(g), 파랑(b)의 3가지의 빛의 세기 값으로 따로 변환하여 저장하는 것인데, 예를 들어 r, g, b 각 색에 대해서 8비트(0~255, 256가지 가능)씩을 사용한다고 하면, 한 점의 색상은 3가지 r, g, b의 8비트+8비트+8비트로 총 24비트로 표현해서 총 2^24 가지의 서로 다른 빛의 색깔을 사용할 수 있는 것이다. 그렇게 저장하는 점을 모아 하나의 큰 이미지를 저장할 수 있게 되는데, 1024 * 768 사이즈에 각 점에 대해 24비트로 저장하면 그 이미지를 저장하기 위한 저장 용량을 계산할 수 있다. 이렇게 이미지의 원래(raw).. 2023. 5. 2.
1085. 소리 파일 저장용량 계산하기 소리가 컴퓨터에 저장될 때에는 디지털 데이터화 되어 저장된다. 마이크를 통해 1초에 적게는 수십 번, 많게는 수만 번 소리의 강약을 체크해 그 값을 정수값으로 바꾸고, 그 값을 저장해 소리를 파일로 저장할 수 있다. 값을 저장할 때에는 비트를 사용하는 정도에 따라 세세한 녹음 정도를 결정할 수 있고, 좌우(스테레오) 채널로 저장하면 2배… 5.1채널이면 6배의 저장공간이 필요하고, 녹음 시간이 길면 그 만큼 더 많은 저장공간이 필요하다. 1초 동안 마이크로 소리강약을 체크하는 수를 h (헤르쯔, Hz 는 1초에 몇 번? 체크하는가를 의미한다.) 한 번 체크한 결과를 저장하는 비트 b (2비트를 사용하면 0 또는 1 두 가지, 16비트를 사용하면 65536가지..) 좌우 등 소리를 저장할 트랙 개수인 채널.. 2023. 5. 1.
1083. 3 6 9 게임의 왕이 되자! 3 6 9 게임을 하던 영일이는 3 6 9 게임에서 잦은 실수로 계속해서 벌칙을 받게 되었다. 3 6 9 게임의 왕이 되기 위한 마스터 프로그램을 작성해 보자. 참고 중첩의 원리 반복 실행 구조 안에 선택 실행 구조를 자유롭게 중첩할 수 있다. 예시 int i; for(i=1; i 2023. 4. 30.
1082. 16진수 구구단? 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진수로 출력해야 한다. 입력예시 B 출력 예시 B*1=B import java.util.Scanner; public class Main { public static void main(String[] args.. 2023. 4. 28.
1081. 주사위를 2개 던지면? 1부터 n까지, 1부터 m까지 숫자가 적힌 서로 다른 주사위 2개를 던졌을 때 나올 수 있는 모든 경우를 출력해보자. 참고 중첩의 원리... 반복 실행 구조도 조건 실행 구조와 마찬가지로 중첩의 원리가 적용된다. 반복 실행 구조를 중첩하면 원하는 반복 구조를 다양하게 만들어 낼 수 있다. 예시 int i, j; int n=3, m=6; for(i=1; i 2023. 4. 27.