Logo CodeXlog
  • Home
  • About
  • Recent Posts
  • 게시글
  • Tags
  • Dark Theme
    Light Theme Dark Theme System Theme
Logo Inverted Logo
  • 게시글
  • Blog-Migration
    • Hugo
    • Jekyll
  • Study
    • Algorithms
      • Algorithms Problem
        • Backjoon
          • Problem.100039
          • Problem.1065
          • Problem.10809
          • Problem.10871
          • Problem.1110
          • Problem.1152
          • Problem.1157
          • Problem.11654
          • Problem.11718
          • Problem.11719
          • Problem.11720
          • Problem.11721
          • Problem.1316
          • Problem.1546
          • Problem.15552
          • Problem.1924
          • Problem.1978
          • Problem.2257
          • Problem.2439
          • Problem.2441
          • Problem.2448
          • Problem.2490
          • Problem.2675
          • Problem.2839
          • Problem.2908
          • Problem.2920
          • Problem.2941
          • Problem.4673
          • Problem.5622
          • Problem.8393
          • Problem.8958
          • Problem.9461
      • Programming Tips
        • C언어 Scanf 의 의미
      • Etc Problem
        • Prob 달팽이 배열
        • 기초 문제
        • 다양한 패턴 출력
        • 큰수 작은수로 정렬후 덧셈
        • 파스칼의 삼각형
    • Computer Science
      • 시스템프로그래밍 FTW 구현
      • 시스템프로그래밍 FTW 구현
    • Programming Language
      • Python
        • Python 기초
      • C언어 스터디
      • 강제 캐스팅에 의한 1byte 단위 접근법
  • Dev
    • DevOps
      • [DevOps] Terraform vs Ansible 뭐가 다르죠?
    • Tips
      • AWS text recognizer
        • AWS project 진행 과정
        • AWS 이미지속 글자 추출
        • Django 따라해보기!!
    • Tips
    • Git Manual
  • OS
    • BSD-Based OS
    • Linux
      • Debain-Based OS
        • Ubuntu & OSX setting
      • RHEL-Based OS
        • CentOS 7
    • Mac OS
      • Mac Autojump 설치및 사용법
    • Window OS
      • Git 설치 및 초기설정
  • Tools
    • GitLab
      • GitLab Upgrade
Hero Image
Problem.8958

모든 내용은 Git Hub에도있습니다. Problem.8958 8958번[OX퀴즈] #include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ int now_point=0,total_point=0; int count=0; char buf[81]={'\0',}; scanf("%d",&count); while(getchar()!=10); // 입력 버퍼를 비워 주지 않으면 테스트 횟수 입력후 첫번째 케이스 문자가 입력이 안됨 // 왜냐면 처음 반복 횟수 입력후 버퍼의 상태는 N\n 이렇게 들어있음 즉 숫자와 엔터가 // 들어있는 상태임 그래서 그다음에 fgets 를 쓰려고 하면 입력이 끝나 버리는것 //그래서 두가지 방법중 하나를 써줘야됨 //1.scanf("%d ") => 공백을 하나 추가하여 //2.while(getchar()!=10) \n 이 나올때까지 입력 버퍼를 비워줌 for(int i=0;i<count;i++){ fgets(buf,sizeof(buf),stdin); for(int j=0;j<strlen(buf);j++){ if(buf[j]=='O'){ ++now_point; total_point+=now_point; } if(buf[j]=='X'){ now_point=0; } } printf("%d\n",total_point); total_point=0; now_point=0; memset(buf,'\0',strlen(buf)); } } 알고리즘은 간단하다. 근데 입출력에 문제가 생겼음. scanf로 입력 받았을때는 버퍼의 마지막에 ‘\n’ 이 있는 상태이고 그다음에 바로 getchar를 쓴다면 버퍼 마지막의 ‘\n’을 가져 오게 된다 그래서 첫번째 케이스의 첫 글자가 입력이 안되서, scanf로 입력 받고 버퍼를 비워줘야함.

  • C
  • Backjoon
  • Online-Judge
2018년 5월 18일 금요일 | 1
Hero Image
Problem.9461

모든 내용은 Git Hub에도있습니다. 9461번 파도반 수열은 간단하다. 처음 배열 1 1 1 1 2 2 를 시작으로 PD[n]=PD[n-1]+PD[n-5]의 식이 성립되지만 처음에 이렇게 접근하지 않았다. 파도반은 정삼각형과 역삼각형으로 이루어져있음 0 1 2 정삼각 1 1 2 역삼각 1 2 3 위의 표를 잘 보자 문제에서 처음 시작은 정삼각형 1부터 시작 그다음은 역삼각 1이다. 그럼 다음 차례 정삼각[1]의 값을 찾아야 하는데 이건 정삼각[1]=정삼각[0]+역삼각[-1]이다. –> 대각의 합 그래서 정삼각[1]은 =1이 된다. 다음은 역삼각 [1]이다. 역삼각[1]=정삼각[0]+역삼각[0]으로 구할수 있다. –> 수직의 합 즉 배열 두개와 각 배열의 값을 구해주는 함수 두개가 필요하다. 정삼각은 Up_triangle, 역삼각은 Down_triangle로 만들자. 그리고 수열의 특성상 int의 범위를 넘겨 버린다. 그래서 각 배열과 함수의 자료형은 long long으로 해준다.

  • C
  • Backjoon
  • Online-Judge
2018년 5월 18일 금요일 | 1
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • »
  • »»
바로가기
  • About
  • Recent Posts
  • Tags
Contact me:
  • codex.devlab@gmail.com
  • ehdwn1991
  • Codex

책임 고지: This theme is under MIT license. So, you can use it for non-commercial, commercial, or private uses. You can modify or distribute the theme without requiring any permission from the theme author. However, the theme author does not provide any warranty or takes any liability for any issue with the theme.