C언어(4)
-
c언어 입력 버퍼
#include int main() { char a; char b; scanf("%c", &a); scanf("%c", &b); printf("a: %c\nb: %c\n", a, b); } 위와 같은 코드가 있을 때 a에 입력값으로 asdf을 주게 되면 입력버퍼에는 asdf가 들어가게 되고 변수 a에는 서식지정자 %c와 매칭되는 a가 들어가게 된다. 그리고 %c로 b를 입력을 받을 땐 이미 입력버퍼에 값(sdf)가 들어있기 때문에 scanf에서는 입력을 받지 않고 입력버퍼에서 서식지정자 %c와 매칭되는 s를 가져오게 된다. 즉 scanf는 입력 버퍼에 값이 없을 때는 입력을 받지만 입력 버퍼에 값이 존재한다면 서식지정자와 매칭되는 값을 입력버퍼에서 가져온다는 것을 알 수 있다. 그 이유 때문에 scanf..
2023.09.10 -
[ baekjoon ] 1316번 - 그룹 단어 체커
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net #include #include int main() { int num; scanf("%d", &num); char word[100][101]; char* ptr = NULL; long long prev_location; int flag = 1; int count = 0; int j = 0; for (int i = 0; i < num; i++) { scanf("%s"..
2023.05.15 -
[ baekjoon ] 2941번 - 크로아티아 알파벳
https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net #include #include void swap(int loop, char * ptr); int main() { char cro[8][4] = { "c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z=" }; char word[101]; int num = 0; scanf("%s", word); char* ptr = NULL; fo..
2023.05.14 -
[ baekjoon ] 27951번 - 옷걸이
https://www.acmicpc.net/problem/27951 27951번: 옷걸이 경기과학고등학교에는 아주 무시무시한 부서 하나가 있다. 그 부서의 이름은 바로 '자치부'이다. '자치부'가 하는 주된 역할 중 하나는 아침에 지정된 기숙사에 들어가서 방의 정리 정돈 상태를 www.acmicpc.net #include #include int main() { int num; scanf("%d", &num); int* hanger = (int*)malloc(4 * num * 2); int type_num[3] = { 0, }; for (int i = 0; i < num * 2; i += 2) { scanf("%d", &hanger[i]); type_num[hanger[i] - 1]++; } int up,..
2023.05.13