본문 바로가기

분류 전체보기702

[백준 10718] We love kriii [C] 소스코드 #include int main(){ puts("강한친구 대한육군\n강한친구 대한육군"); } 출처 10718번: We love kriii ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박 www.acmicpc.net 2021. 7. 12.
[백준 10799] 쇠막대기 [C] 풀이 입력된 괄호이후 막대기의 개수를 top라고 하고, 다음과 같은 조건에 의해 result에 막대기의 개수를 더해주면 된다. ')'이전에 '('가 입력되었으면, 쇠막대기가 아니라 레이저이므로 --top한 값을 result에 더해준다. 쇠막대기를 의미하는 ')'만 입력 되었으면, 쇠막대기의 끝 부분에 도달한 것 이기 때문에 1개만 더하고, 현재 막대기의 개수를 1개 감소시킨다. 소스코드 #include #define MAX 100001 int main(){ char stack[MAX]; int top = 0, result = 0; scanf("%s", stack); for (int i = 0; stack[i] != '\0'; i++) if (stack[i] == '(') top++; else{ if (i.. 2021. 7. 11.
[백준 10798] 세로읽기 [C] 풀이 2중 배열을 통해 입력을 받고 row와 col의 증가 순서를 바꾸어 문자를 하나씩 출력하면 해결할 수 있다. 소스코드 #include int main(){ char str[5][15] = { 0, }; for (int row = 0; row < 5; row++) scanf("%s", str[row]); for (int col = 0; col < 15; col++) for (int row = 0; row < 5; row++) if (str[row][col] != '\0') putchar(str[row][col]); } 출처 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, .. 2021. 7. 11.
[백준 10797] 10부제 [C] 소스코드 #include int main(){ int num, car, cnt = 0; scanf("%d", &num); for (int i = 0; i < 5; i++){ scanf("%d", &car); num == car && cnt++; } printf("%d\n", cnt); } 출처 10797번: 10부제 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 www.acmicpc.net 2021. 7. 11.
[백준 8958] OX퀴즈 [C] 풀이 입력받은 문자열에서 'O'이면 1 증가시킨 temp를 sum에 더해주고, 만약 'X'가 나오면 temp를 0으로 초기화해 다음 'O' 가 나올 때 다시 1부터 더해줄 수 있도록 하면 된다. C99로 컴파일하기 때문에 조건연산자 사용에 주의해야 한다. 소스코드 #include int main() { char str[80], N; scanf("%d", &N); while (N--) { int temp = 0, sum = 0; scanf("%s", &str); for (int i = 0; str[i] != '\0'; i++) (str[i] == 'O') ? sum += ++temp : (temp = 0); printf("%d\n", sum); } } 출처 8958번: OX퀴즈 "OOXXOXXOOO"와 같.. 2021. 7. 11.
[백준 3052] 나머지 [C] 풀이 입력받은 값을 42로 나누었을 때의 나머지를 저장해두고 비교해서 서로 다른 수가 몇 개인지 찾아내는 문제이다. 최선의 경우에는 1개이지만, 최악의 경우에는 42개가 나올 수 있다. 수를 입력받고 배열의 마지막 인덱스까지 탐색 했는데 동일한 수가 없다면, 새로 등록을 해주는 형식이다. 소스코드 #include int main(){ int arr[42], num, idx = 1; for (int i = 0; i < 10; i++){ scanf("%d", &num); num %= 42; if (!i) arr[0] = num; else for (int j = 0; j < idx; j++) if (arr[j] != num && j == idx - 1){ arr[j+1] = num; idx++; }else i.. 2021. 7. 11.