목록2020/12/25 (8)
디케이
1부터 입력한 정수까지 1씩 증가시켜 출력하는 프로그램을 작성하되, 3의 배수인 경우는 출력하지 않도록 만들어보자. 예를 들면, 1 2 4 5 7 8 10 11 13 14 ... 와 같이 출력하는 것이다. 참고 반복문 안에서 continue;가 실행되면 그 아래의 내용을 건너뛰고, 다음 반복을 수행한다. 즉, 다음 반복으로 넘어가는 것이다. 예시 for(i=1; i
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+=..
3 6 9 게임을 하던 영일이는 3 6 9 게임에서 잦은 실수로 계속해서 벌칙을 받게 되었다. 3 6 9 게임의 왕이 되기 위한 마스터 프로그램을 작성해 보자. 참고 중첩의 원리 반복 실행 구조 안에 선택 실행 구조를 자유롭게 중첩할 수 있다. 예시 int i; 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().split(" "); for (int i = 0 ; i < a.length; i++) { String b = a[i]; System.out.println(b); if ..
정수(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( ... ) 를 사용할 때에는 반복 실행되는 과정에..
영문자(a ~ z) 1개가 입력되었을 때 그 문자까지의 알파벳을 순서대로 출력해보자. 참고 do { //코드블록 ... }while(조건); //do~while( ) ; 구조는 반드시 마지막에 세미콜론(;)을 붙여야 한다. 구조를 사용하자. do { //코드블록 ... }while(조건); 구조는 while( ) { ... } 과 유사한 반복 실행 구조를 만들 수 있는데 다른 점은 무조건 한 번은 실행된다는 것이다. 마지막에 세미콜론을 반드시 붙여야 한다. 예시 char x, t='a'; scanf("%c", &x); do { printf("%c ", t); t+=1; //t+=1; 는 t=t+1과 같은 의미이다. }while(t