
22. 팰린드롬 문제 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 예를 들어, "aba"는 팰린드롬이며 "abccca"는 팰린드롬이 아닙니다. 어떤 문자열의 부분 문자열 중 팰린드롬인 문자열이 여럿일 수 있습니다. 이 중 k번째로 큰 팰린드롬을 알고 싶습니다. k번째로 큰 팰린드롬이란, 모든 팰린드롬을 사전 순으로 나열했을 때 k번째에 위치하는 팰린드롬을 뜻합니다. 이를 위해 다음과 같이 프로그램 구조를 세웠습니다. 1. 팰린드롬 문자열을 저장할 배열 palindromes를 선언합니다. 2. 주어진 문자열의 모든 부분 문자열을 찾아 다음을 수행합니다. 2-1. 부분 문자열이 팰린드롬 문자열인지 확인하고, 팰린드롬 문자열이라면 palindromes에 같은 문자열이 이미 들어..

16. 로봇을 움직여주세요 로봇이 아래 그림과 같이 2차원 평면의 원점 (0, 0)에 서있습니다. 이 로봇은 x축 방향, 혹은 y축 방향으로만 움직일 수 있으며, 알파벳으로 명령을 내릴 수 있습니다. 명령을 내릴 때 사용하는 알파벳은 'L', 'R', 'U', 'D'의 4가지이며, 'L'은 x축 방향으로 -1만큼, 'R'은 x축 방향으로 +1만큼, 'U'는 y축 방향으로 +1만큼, 'D'는 y축 방향으로 -1 만큼 이동하라는 의미입니다. 로봇에게 내린 명령이 순서대로 들어있는 문자열 commands가 매개변수로 주어질 때, 주어진 명령을 모두 수행한 후의 로봇 위치를 return 하도록 solution 함수를 완성해주세요. import java.util.*; class Main{ public int[] ..
요즘 책을 읽고 있다. 내용이 좋고, 귀감이 되는 문장들이 많아 나의 성장과 발전을 위해 글로 정리해보려 한다. 자라기 학습을 위해서는 상반된 의견과 정보 속에서 스스로 생각하는 훈련을 해나가야 한다. 학교에서 배우던 학습과 실제 사회에서의 학습은 차이가 있다. 우리가 그 차이를 인지하지 못하고 학교에서의 학습을 그대로 사회에서 적용한다면 제대로 된 학습과 발전은 어렵다. 예를 들어, 목표 지점을 정해놓고 그 지점으로 향하는데 중간에 목표지점이 계속 변화한다면 우리는 경로 조정을 빈번히 해야 할 것이다. 그렇게 하지 않는다면 목표 지점은 점점 멀어질 것이다. 학교 학습은 목표가 분명하고 지정되어있으나, 사회는 그렇지 않다. 그래서 우리는 학습 방법을 학습해야 한다. 경력, 그 견딜 수 없는 무거움 경력과..