본문 바로가기

정수23

1074. 정수 1개 입력받아 카운트다운 출력하기1 정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자. while(조건) { ... } 구조를 사용하자. 예시 int n; scanf("%d", &n); while(n!=0) { printf("%d", n); n=n-1; //n--;와 같다. } 입력 정수 1개가 입력된다. (1 ~ 100) 출력 1씩 줄이면서 한 줄에 하나씩 1이 될 때까지 출력한다. 입력예시 5 출력 예시 5 4 3 2 1 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); while (a != 0){ System... 2023. 4. 18.
1070. 월 입력 받아 계절 출력하기 월이 입력될 때 계절 이름이 출력되도록 해보자. 예 월 : 계절 이름 12, 1, 2 : winter 3, 4, 5 : spring 6, 7, 8 : summer 9, 10, 11 : fall 참고 swtich( ).. case ... break; 제어문에서 break;를 제거하면 멈추지 않고 다음 명령이 실행되는 특성을 이용할 수 있다. switch(a) { ... case 3: case 4: case 5: printf("spring"); break; ... } 로 작성하면, 3, 4, 5가 입력되었을 때 모두 "spring"이 출력된다. ** 12, 1, 2 는 어떻게 처리해야 할지 여러 가지로 생각해 보아야 한다. 입력 월을 의미하는 1개의 정수가 입력된다.(1 ~ 12) 출력 계절 이름을 출력한다.. 2023. 4. 14.
1068. 정수 1개 입력 받아 평가 출력하기 점수(정수, 0 ~ 100)를 입력받아 평가를 출력해보자. 평가 기준 점수 범위 : 평가 90 ~ 100 : A 70 ~ 89 : B 40 ~ 69 : C 0 ~ 39 : D 로 평가되어야 한다. 참고 여러 조건들을 순서대로 비교하면서 처리하기 위해서 조건문을 중첩할 수 있다. 만약, 순서대로 검사하고 실행하기 위해 아래와 같이 중첩 시킨다면, if(조건1) { ... } else { if(조건2) { ... } else { ... } } 중첩된 구조는 논리적으로 1단위이기 때문에 코드블록 기호를 생략하면 아래와 같은 구조로 다시 표현될 수 있다. if(조건1) { ... ; } else if(조건2) { ... ; } else { ...; } 이와 같이 조건을 계속 붙여나가면.. if(조건1) { .... 2023. 4. 12.
1067. 정수 1개 입력 받아 분석하기 정수 1개가 입력되었을 때, 음(minus)/양(plus)과 짝(even)/홀(odd)을 출력해보자. 참고 조건/선택 실행 구조의 안에 조건/선택 실행 구조를 다시 "중첩"할 수 있다. 이는 "중첩(nested)"의 원리가 적용되는 내용으로 아래와 같은 구조가 가능하다. if(조건1) { if(조건2) //조건문의 중첩 { ... } else { ... } } else { if(조건2) { ... } else { ... } } 위와 같은 조건/선택 실행구조는 조건/선택 실행구조를 중첩해 서로 다른 4가지(2가지*2가지)의 경우에 대해 다른 실행을 할 수 있도록 해준다. ** 어떤 조건들이 맞았을 때에는 해당부분의 코드블록 내용만 실행되고, 전체 조건/선택 실행구조를 빠져나간다. 즉, 다른 부분들은 실행되.. 2023. 4. 11.
1064. 정수 3개 입력 받아 가장 작은 수 출력하기 1입력된 세 정수 a, b, c 중 가장 작은 값을 출력하는 프로그램을 작성해보자. 단, 조건문을 사용하지 않고 3항 연산자 ? 를 사용한다. 참고 C언어 소스코드 작성시 모든 요소들은 "순서에 따라 한 단계씩 실행" "미리 정해진 순서에 따라 하나씩 연산 수행" "그 때까지 연산된 결과를 이용해 다시 순서에 따라 하나씩 연산" ... 등의 원리가 적용된다. 따라서 3항 연산자 ? 를 중첩해(괄호로 묶는 등..) 이용하면 여러 값들을 순서대로 비교해 가장 큰/작은 값을 계산할 수 있다. 예를 들어 (a>b ? a:b)>c ? (a>b ? a:b):c 의 계산식은 a, b, c 의 값 중 가장 큰 값으로 계산된다. 잘 이해가 되지 않는다면 어떤 순서에 따라 계산될지 생각해보고 여러 가지 연산자가 동시에 사.. 2023. 4. 9.
1063. 두 정수 입력 받아 큰 수 출력하기 입력된 두 정수 a, b 중 큰 값을 출력하는 프로그램을 작성해보자. 단, 조건문을 사용하지 않고 3항 연산자 ? 를 사용한다. 참고 3개의 요소로 이루어지는 3항(ternary) 연산자는 "조건식 ? (참일 때의 값) : (거짓일 때의 값)” 의 형태로 사용하는 연산자이다. - 조건식의 계산 결과가 참인 경우에는 ':' 왼쪽의 값 또는 식으로 바뀌고, - 거짓인 경우에는 ':' 오른쪽의 값 또는 식으로 바뀐다. 예를 들어 123 > 456 ? 0 : 1 과 같은 표현식은 123 > 456 의 비교연산 결과가 거짓이므로 1이 된다. 예시 printf("%d", a>b ? a:b); //두 값 중 큰 값이 출력된다. 예시 코드는 a>b 의 결과가 참(1)이면 (a>b ? a:b)의 결과는 a가 되고, 거짓.. 2023. 4. 7.