항해99 온보딩 2일차

이동환·2023년 3월 8일
0

항해99

목록 보기
2/27

요약

  1. 오늘 진행한 것
  2. 새롭게 알게 된 점
  3. 개선할 점

1. 오늘 진행한 것

오늘도 어제와 마찬가지로 백준 알고리즘 문제를 풀었다.

더하기 사이클 - https://www.acmicpc.net/problem/1110
Fly me to the Alpha Centauri - https://www.acmicpc.net/problem/1011
터렛 - https://www.acmicpc.net/problem/1002
스택 - https://www.acmicpc.net/problem/10828
제로 - https://www.acmicpc.net/problem/10773
큐 2 - https://www.acmicpc.net/problem/18258

스택과 큐에 대한 지식이 있어야 했다. 또한 패턴을 분석해서 규칙을 찾아내는 문제도 있었다.

2. 새롭게 알게 된 점

문제의 해결 코드에서 사용하는 입력과 출력 방식을 바꿔봤다.
입력은 Scanner 출력은 System.out.println()을 사용했었는데 이번에는 BufferdWirter와 BufferedReader를 이용했다.
Scanner나 System.out.println() 모두 BufferedWriter나 BufferedReader에 비해 속도가 느리다.
Scanner나 print()는 문자열을 날 것으로 처리하지 않고 여러가지 작업을 추가로 진행하기 때문인 것 같다.

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

int input = Integer.parseInt(br.readLine());
bw.write(input + "" + '\n');
bw.flush();
bw.close();

3. 개선할 점

알고리즘 문제를 풀기 전에 종이에 논리를 적는 과정에서 두 가지 안 좋은 습관을 발견했다.
첫째는 조금만 각이 나올 것 같으면 바로 코드 작성으로 달려가고 그러다가 자주 막혀서 되돌아 오는 경우가 많았던 것이다.
둘째는 종이에 적을 때 아무렇게나 막 적는 것이다. 그러다보면 나중에 봤을 때 이해를 할 수 없었고, 좀 더 잘 할 수 있지 않을까 하는 생각이 들었다.
그래서 종이에 적을 때 적는 내용을 구조화시키면 좀 더 좋은 패턴으로 논리 작성을 할 수 있을 것 같다.

profile
개발을 즐기고 싶다.

0개의 댓글