2023년 4월 22일의 기록
오늘 처음으로 티스토리로 기록을 하기 시작했다. 열심히 차근차근 공부해서 코딩 잘하는 사람이 되어보자.
한달만에 백준 들어가서 풀게 된 문제는 저번에 4번이나 도전했는데 실패했던 1008번 문제!
무려 6번만의 시도 끝에 맞추게 되었다.
단순히 정수 값을 받아서 A/B를 하게 된다면 첫번째 예제에서 0을 출력하게 된다. 그래서 그 다음에는 float형으로 출력했는데 그때도 실패하게 됨.
왜 계속 틀렸는지 몰라서 여러 시도 끝에 정답과 왜 틀렸는지에 대한 이유도 알게 되었다..
참고)) https://loding.tistory.com/entry/%EB%B0%B1%EC%A4%80C%EC%96%B8%EC%96%B4-1008%EB%B2%88-A-B
10926번 문제
50글자를 넘지 않는 영어 소문자 라는 점에서 char str[51]을 생성했고, printf나 scanf에서 받을 때는 %s로 받는다!
2438번 문제
문자열 길이 세는 걸 하려면 #include <string.h> 를 선언해야함! 그리고 strlen() 함수를 통해 문자열 길이를 알 수 있다
2754번 문제
문자열을 입력받고, 그 문자열이 A+,B+인지 등을 판단하기 위한 방법을 찾았는데 그냥 if 에 str == "A+" 이런식으로 입력하니까 제대로 출력되지 않았다.
#include <string.h>
if(strcmp(변수,"특정 문자열")==0){
실행문;
}
이렇게 하니까 되었다!
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main(void) {
char str[5];
scanf("%s", &str);
if (strcmp(str, "A+") == 0)
printf("4.3");
if (strcmp(str, "A0") == 0)
printf("4.0");
if (strcmp(str, "A-") == 0)
printf("3.7");
if (strcmp(str, "B+") == 0)
printf("3.3");
if (strcmp(str, "B0") == 0)
printf("3.0");
if (strcmp(str, "B-") == 0)
printf("2.7");
if (strcmp(str, "C+") == 0)
printf("2.3");
if (strcmp(str, "C0") == 0)
printf("2.0");
if (strcmp(str, "C-") == 0)
printf("1.7");
if (strcmp(str, "D+") == 0)
printf("1.3");
if (strcmp(str, "D0") == 0)
printf("1.0");
if (strcmp(str, "D-") == 0)
printf("0.7");
if (strcmp(str, "F") == 0)
printf("0.0");
return 0;
}
지금 생각나는 건 이 방법밖에 없는데.. 나중에 더 효율적인 방법 있으면 생각해보자
10171번 문제
printf에서 \(역슬래시를 출력하려면) \\ 두번 입력해야한다(예전에 코드업에서 비슷한 문제 봤던 것 같다)
11382번 문제
숫자 A,B,C의 범위가 10^12 까지여서 int를 사용할 수 없어서 long long을 사용하였고 %lld 로 문자를 받았다
10172번 문제
귀여운 개
2588번 문제
헤헤 단계별로 풀어보기 - 1. 입출력과 사칙연산 끝ㅎㅎㅎㅎㅎ
백준 2번째 날!
이 기록을 남기는 지금!!(오늘 17문제 풀었당ㅎㅎㅎㅎ)
'코린이의 성장기 > 코린이의 백준 도전기' 카테고리의 다른 글
코린이의 백준 도전기 3일차 (0) | 2023.04.29 |
---|---|
코린이의 백준 도전기 2일차 (2) | 2023.04.23 |
코린이의 백준 도전기 1일차(2) (0) | 2023.04.22 |