본문 바로가기

Layer7/BaekJoon

(5)
BaekJoon - 10798: 세로읽기 문제는 다음과 같다. 정답은 다음과 같다. #include char arr[5][15]; int main() { for (int i = 0; i < 5; i++) scanf("%s", arr[i]); for (int i = 0; i < 15; i++) { for (int k = 0; k < 5; k++) { if (arr[k][i] != NULL) printf("%c", arr[k][i]); } } return 0; } 5행에 최대 15개의 문자가 입력되니 배열을 arr[5][15] 와 같이 선언 해 주고 텍스트를 다섯번 입력 받는다. 이중포문으로 1행 ~ 5행 1열 ~ 15열까지 돌려준다. 중간에 if문으로 입력이 안받아진(널문자인) 텍스트는 제외하고 출력해준다.
BaekJoon - 2884: 알람 시계 문제는 다음과 같다. 풀이는 다음과 같다. #include int main() { int hh, mm; scanf("%d %d", &hh, &mm); if(mm >= 45){ printf("%d %d", hh, mm-45); } else if(hh > 0){ printf("%d %d", hh-1, (mm+60)-45); } else{ printf("23 %d", (mm+60)-45); } return 0; } 먼저 시간과 분을 저장할 변수 hh, mm을 선언 해 준다. scanf로 hh와 mm에 값을 할당 해 준다. 분이 45분보다 크거나 같으면, 시간은 그냥 출력하고, 분에 45분을 빼서 출력한다. 분이 45분보다 작고(위 if문), 시간이 0보다 크면 시간에 1을 빼고, 분에 60을 더한 후 45를 ..
BaekJoon - 25304: 영수증 문제는 다음과 같다. 풀이는 다음과 같다. #include int main() { int total, times, units, amount; scanf("%d", &total); scanf("%d", &times); for(int i=1; i
BaekJoon - 25314: 코딩은 체육과목 입니다 문제는 다음과 같다. 문제에서 주어지는 수를 4로 나눈 수 만큼 반복하여 "long "를 출력, 후에 int를 출력하면 되는 문제다. #include int main() { int n; scanf("%d", &n); for (; n > 0; n-=4){ printf("long "); } printf("int"); return 0; } 정답은 이러하다. int 자료형 n을 선언 후 scanf로 n에 값 할당 for문 초기화식 스킵 후 조건식 n이 0보다 크면 반복, 증감식 n에서 4를 뺀다 반복할 내용은 "long " 프린트 반복문을 빠져나온 후 int 출력 ( 문제의 요지는 나누기였던 것으로 생각하긴 했는데, 빼기로 더 쉽게 할 수 있을 거 같아서 빼기로 진행했습니다. )
BaekJoon - 2588: 곱셈 문제는 다음과 같다. (3)은 (1) * (2)의 1의 자리수이고, (4)는 (1) * (2)의 10의 자리수, (5)는 (1) * (2)의 100의 자리수이고, 마지막 (6)은 곱셈의 답이다. #include int main() { int a, b, c, d; scanf("%d", &a); scanf("%1d%1d%1d", &b, &c, &d); printf("%d\n", a * d); printf("%d\n", a * c); printf("%d\n", a * b); printf("%d", a * (b * 100 + c * 10 + d)); return 0; } 정답은 이렇다. (가장 원초적인 방법으로 . . . ) 먼저 a, b, c, d 변수를 int형으로 선언 scanf로 a 변수에 (1) 저장 ..