😃2022.09.24

일일 회고 44회차

할일 및 한일

경험 및 배움

오늘은 알고리즘 문제 풀이 및 디자인 패턴 공부를 진행하였다.

알고리즘 문제 풀이

오늘 풀어본 문제는 단어 뒤집기 문제였다. 먼저 정수를 하나 입력받고, 입력 받은 정수 만큼의 단어를 입력하면, 입력한 단어들이 출력 될때 거꾸로 뒤집어서 출력되게 만드는 문제였다.

우선 조건을 첨부한다.

[설명]

N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요.

[입력]

첫 줄에 자연수 N(3<=N<=20)이 주어집니다.

두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어집니다. 단어는 영어 알파벳으로만 구성되어 있습니다.

[출력]

N개의 단어를 입력된 순서대로 한 줄에 하나씩 뒤집어서 출력합니다.

[예시]

  • 입력 : 3, good Time Big

  • 출력 : doog emiT giB

이 문제를 풀 때 필요한 메소드는 StringBuilder 클래스의 reverse() 메소드가 필요했다. reverse 메소드를 사용하면 문자의 순서가 거꾸로 뒤집어진다고 한다. 또 다른 방법이 있었는데, 인덱스를 사용하여 메소드를 사용하지 않고 직접 문자들의 자리를 변경해주는 방법 또한 존재했다.

여기서 String 이 아닌 StringBuilder 클래스를 사용하는 이유는 String 은 처음에 대입한 문자열을 변경할 수 없기 때문에, 새로운 객체를 만들어서 다시 대입하는 형식으로 절차가 이루어지지만 StringBuilder 는 수정이 가능하여 객체를 만들지 않아도 되서 메모리를 덜 사용할 수 있다고 한다. 중요한 정보 같으니 꼭 기억해두어야 겠다.

자세한 코드와 풀이 내용은 링크를 첨부한다.

디자인 패턴 12장(복합 패턴) 공 및 notion 정리(50%)

이번 단원에서는 지금까지 배웠던 패턴들을 복합해서 섞어서 쓰는법을 배운다. 1단원에서 했던 오리 코드들에 여러 패턴들을 적용해보면서, 곧이어 진행할 프로젝트에도 도움이 많이 될 것 같다.

개선 및 목표

  • 내일은 일정이 있으니 오전에 일찍 일어나서 공부를 미리 끝마쳐놔야겠다.

Last updated