codeup 100제 풀이를 시작했다.
오늘은 코드업 기초 100제 8문제를 풀었으며 8문제를 총 13번에 걸쳐 풀었으며, 이 중 2번의 오답제출과 1번의 실행 중 에러, 2번의 컴파일 에러가 있었다. 정답률은 61.5%이고, 오답률은 15.4%이다. 컴파일 에러와 실행 중 에러의 횟수를 줄이는 것을 목표로 해야겠다.
1. 문자 1개가 입력된다.
(단, 입력되는 문자는 알파벳 대, 소문자 및 숫자를 비롯한 아스키코드로 표현할 수 있는 문자들만 입력된다.)
위의 문제 요구사항을 제대로 읽지 않고 %s를 사용하였으며 이는 입력타입과 출력타입의 사용방법을 제대로 인지하고 있지 않아서 생긴 일이였다.
ps.
%d{10진수(정수형)}, %f(%.nf){실수형},%e(지수형),%o(8진수),%x(16진수),%u(부호없는 10진수), %g(실수형 자동출력), %p(포인터의 주소), %c{하나의 문자로 출력(아스키코드표현)}, %s (문자열)
scanf를 scnaf로 써서 사용하였다.
프로그래밍에서 오타는 생각보다 빈번하게 일어나며, 이를 제대로 확인하지 않으면 안된다.
복수의 변수 선언에서 ","사용을 하지 않았다
두개의 변수를 선언하는 과정에서 ,를 사용하지 않고 선언하였다.
ex) int a b; (x) =>> int a, b; (o)
정말 기초가 많이 부실하다는 것을 느꼈다. 꾸준한 코딩문제 풀이를 하며 익숙해져야겠다.
2개의 정수를 scanf로 입력받을 때 입력 기준과 출력 기준이 같아야함을 몰랐다.
시간의 형태로 입력받아 (ex / 12:30) 그대로 출력하는 문제였는데 (codeup 1018번)
2개의 입력을 나누는 기준을 ":"로 하였기 때문에 출력에도 같이 ":"를 사용해줘야하는 것을
몰랐다.
int main() {
int hour, min;
scanf("%d:%d",&hour,&min);
printf("%d:%d",hour,min);
return 0;
}