디게 신선한 문제다.
어떤 능력을 요구해서 낸 문제일까?
내가 생각하기엔 딱히 특유의 알고리즘없이 기본 코딩실력보는 문제랄까.
문제 해결의 키는 두번째 값에대해 자리별 숫자를 어떻게 얻어낼것인가 이다.
문자열 형태로 입력받아서 처리할수도 있지만 세자릿수라는게 명확히 정해져있는 상황이여서
나머지 연산자를 이용해 자리별 숫자들을 얻어냈다.
**자리별 숫자 구하는 과정에서 연산자 우선순위 문제로 잘못될수있으니 괄호로 명확히 표현
이 둘의 차이랄까?
int n1 = first* (second%10);
int n1 = first* second%10;
#include <stdio.h>
int main()
{
int first;
int second;
scanf("%d",&first);
scanf("%d",&second);
/*
접근방법이 많다
지금 결국 두번째값에대해 자리별 값을 알아내긴해야하는 상황
문자열형태로 접근할수도있겠고
그냥 세자리밖에 안되니 노가다 해도될듯
*/
// second 변수에 대해 자릿수 값구하는 과정에서 연산자 우선순위 문제가 발생할 가능성이 크다.
//그래서 괄호 이용해 명확히 표현
int n1 = first* (second%10);
int n2 = (first*((second%100)/10));
int n3 = first * (second/100);
printf("%d\n%d\n%d\n%d\n",n1,n2,n3,n1+n2*10+n3*100);
return 0;
}
'박기완 코딩교육 > 정보올림피아드 대비' 카테고리의 다른 글
정올 초등_ 회장뽑기 KOI 1997 (0) | 2020.09.09 |
---|---|
코드업 4432 십자카드 초등 정올 (0) | 2020.09.08 |
코드업 4562 숫자의 개수 초등부 정올 (0) | 2020.09.07 |
코드업 4423 직사각형 네 개의 합집합 면적 구하기 [초등부 정올] (0) | 2020.09.07 |
코드업 4422 숫자고르기 해설. 정보올림피아드 초등 (정올 초등) (0) | 2020.09.06 |