[알고리즘 공부 1일차]

김주현·2021년 4월 13일
0

알고리즘

목록 보기
1/27
post-custom-banner

오늘부터 알고리즘 공부를 시작하고 과정을 기록하기위해 글을 작성한다.
백준사이트의 알고리즘을 기초부터 C++를 이용해 풀어보고 블로그에 정리할것이다 끝까지 포기하기않고 달려보는걸로 화이팅!

  1. 입출력과 사칙연산

기초적인 부분이라 어렵다고 생각되는 부분은 없었다.
printf,scanf 함수를 이용해서 문제를 해결하였다

3,4번 문제의 포인트는 특수문자를 출력하기위해 앞에 \를 붙여야한다는것

8번 문제에선 상대오차를 10^-9 이하로 줄이기위해 double타입을 사용하고 출력시 %.10f로 출력하였다

11번 문제에서는 두 3자리 정수를 받고 정수 * 두번째정수의 각 자릿수를 출력하는 문제기 때문에
1.10으로 나눈 나머지
2.10으로 나눈 몫을 10으로 나눈 나머지
3.100으로 나눈몫
으로 정수를 분리해 문제를 해결했다

  1. if문

if문과 else문을 사용해 문제들을 해결했다 중첩 if문을 사용하면 모든문제를 해결할수있었다 마지막문제인 알람 시계 문제는 정수 a,b로 해결했다
b >= 45 -> b -= 45
아니라면
a > 0 ->a--, b += 15
a == 0 -> a = 23 b += 15
로 해결하였다

  1. for문

for문을 활용하는 문제들이였다 포인트는 입력의 갯수가 명시되지않은경우 동적할당을 통해 배열을 만들어 저장하는 방식이라고 생각한다
별찍기 문제의 경우 공백을 출력하고 별을 출력할때는 줄수 - 별수 만큼 공백을 출력한후 별을 출력하는 식으로 문제를 해결했다
마지막 x보다 작은수 문제는 배열을 우선 입력의 갯수만큼 할당한후 다 사용하는것이 아닌 x값보다 작은수를 넣어주면서 count값을 1씩 증가시키면서 사용했다 이방식을 사용한 이유는 마지막 출력에서 만약 정답의 갯수가 4개라면 공백은 3개만 출력해야하고 이를 위해선 정답의 갯수를 알아야하기때문에 이런식으로 해결했다.

post-custom-banner

0개의 댓글