목록기초100제 (101)
콩부방

빨강(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

3 6 9 게임을 하던 영일이는 3 6 9 게임에서 잦은 실수로 계속해서 벌칙을 받게 되었다. 3 6 9 게임의 왕이 되기 위한 마스터 프로그램을 작성해 보자. 참고 중첩의 원리 반복 실행 구조 안에 선택 실행 구조를 자유롭게 중첩할 수 있다. 예시 int i; for(i=1; i

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 B*2=16 B*3=21 B*4=2C B*5=37 B*6=42 B*7=4D B*8=58 B*9=63 B*A=6E B*B=79 B*C=84..

1부터 n까지, 1부터 m까지 숫자가 적힌 서로 다른 주사위 2개를 던졌을 때 나올 수 있는 모든 경우를 출력해보자. 참고 중첩의 원리... 반복 실행 구조도 조건 실행 구조와 마찬가지로 중첩의 원리가 적용된다. 반복 실행 구조를 중첩하면 원하는 반복 구조를 다양하게 만들어 낼 수 있다. 예시 int i, j; int n=3, m=6; for(i=1; i

1, 2, 3 ... 을 계속 더해 나갈 때, 그 합이 입력한 정수(0 ~ 1000)보다 같거나 작을 때까지 계속 더하는 프로그램을 작성해보자. 즉, 1부터 n까지 정수를 계속 더한다고 할 때, 어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다. 입력 정수 1개가 입력된다. 출력 1, 2, 3, 4, 5 ... 를 순서대로 계속 더해 합을 만들어가다가, 입력된 정수와 같거나 커졌을 때, 마지막에 더한 정수를 출력한다. 입력 예시 예시 복사 55 출력 예시 10 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); in..

'q'가 입력될 때까지 입력한 문자를 계속 출력하는 프로그램을 작성해보자. 입력 문자들이 1개씩 계속해서 입력된다. 출력 'q'가 입력될 때까지 입력된 문자를 줄을 바꿔 한 줄씩 출력한다. 입력 예시 예시 복사 x b k d l q g a c 출력 예시 x b k d l q import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.nextLine(); //입력 char[] b = a.toCharArray(); // char 배열로 변환 for (int i = 0; i < b.length; i++) { if(i % 2 ..

정수(1 ~ 100) 1개를 입력받아 1부터 그 수까지 짝수의 합을 구해보자. 참고 while( ) {...}, do {...} while( );, for(...; ...; ...) {...} 등의 반복문은 형태만 다르 고, 똑같은 성능을 발휘한다. 필요에 따라 편리한 것으로 골라 사용하면 된다. 예시 //아래의 예는 홀수일 경우만 더해 그 결과를 출력한다. int sum=0; int i, n; scanf("%d", &n); for(i=1; i

정수(0 ~ 100) 1개를 입력받아 0부터 그 수까지 순서대로 출력해보자. for((반복전 실행/준비 내용); (조건 검사 내용); (한번 실행한 후 처리할 작업)) { //코드블록 ... } 반복 구조를 사용하자. 참고 for((반복전 실행/준비내용); (조건 검사 내용); (한번 실행한 후 처리할 작업)) { //코드블록 ... } 구조는 while( ) {...}, do {...} while( ); 구조와 같이 어떤 작업을 반복적으로 수행할 때 가장 일반적으로 많이 사용하는 구조이다. while( ) {...}, do {...} while( ); 과 다르게 반복을 위한 초기화/준비, 조건검사, 반복 후 증감 등을 한 번에 작성할 수 있다. for( ... ) 를 사용할 때에는 반복 실행되는 과정에..