본문 바로가기

Java8

[Java] 별찍기 알고리즘 문제 풀기(다이아몬드 별찍기) 별 찍기 알고리즘 문제를 풀기 시작했다. 생각보다 난이도가 엄청 높다. 그냥 간단하게 생각해서는 절대 풀리지 않을 문제들이다. 그렇기 때문에 복습 차원에서 과정을 정리하는 것이 아주 중요하다고 생각한다. 다음과 같이 별찍기로 다이아몬드 형태를 표현하려고 한다. 처음 접근했을 때에는 중간에 별을 찍고 양쪽에 빈칸을 넣어야 한다고 생각했다. 하지만 생각해보니 오른쪽에는 굳이 빈칸을 넣을 필요가 없다. 그냥 칸 이동만 할 경우 다음 줄로 자연스럽게 넘어가기 때문이다. 전체적인 핵심은 이 부분이 한줄 한 줄 따로 있다고 생각하는 것이 아니라 모든 줄이 하나의 줄로 쭉 연결되어있다고 생각해야 한다. 그래서 중간중간 끊어줘서 행을 구분한다고 생각해야 한다. (줄줄이 소시지가 1번째 줄에는 1개, 2번째 줄에는 2개.. 2021. 8. 25.
비전공자도 쉽게 듣는 자바 인프런 강의 추천 먼저 이 포스팅은 광고가 아니다. 단지 비전공자도 쉽게 자바를 배울 수 있는 인프런 강의에 대해서 소개하려고 할 뿐이다. 비전공자가 맨 처음에 자바를 배울 때 어떻게 시작해야 할지 고민이 되는 것이 당연하다. 이 강의는 그 물음에 충분한 답안이 될 수 있다고 생각한다. 고리타분하게 책으로 배우는 것보다 핵심 개념만 쏙쏙 배워서 쉽게 따라 하면서 배울 수 있는 강의이기 때문이다. 자바를 배우고 싶은데 뭘 해야할지 모르겠다면 그냥 이 강의를 추천하고 싶다. 생활코딩부터 해서 유튜브에 다양한 강의들이 있지만 비전공자로써, 또 처음 개발을 입문하는 사람으로서 이 강의가 자바를 배우는 데에 가장 좋은 강의였다고 생각한다. 이 강의는 바로 인프런에 있는 홍팍님의 강의다. 인프런(https://www.inflearn.. 2021. 8. 11.
개발자가 되기 위한 비전공자의 IT국비지원학원 후기 #7 무더운 여름이 본격적으로 시작된 듯하다. 예전보다 체력도 더 빨리 떨어지고 집중력도 많이 저하되었다. 조금 잠잠해질 것 같던 코로나는 다시 대유행의 시기를 맞이하고 있다. 하루에도 확진자가 1000명 이상씩 나오고 있고 그 수는 더욱더 증가할 것 같다. 이런 시기에 국비 학원은 과연 어떻게 대처하고 있을까. 개발자가 되기 위해서 학원을 다니고 취업을 준비하는 사람들은 어떻게 준비해야 할까. 2021.07.06 - [개발 & 기술] - 개발자가 되기 위한 비전공자의 IT국비지원 학원 후기 #6 2021.06.26 - [개발 & 기술] - 개발자가 되기 위한 비전공자의 IT국비지원학원 후기 #5 2021.06.23 - [개발 & 기술] - 개발자가 되기 위한 비전공자의 IT국비지원학원 후기 #4 여전히 수업.. 2021. 7. 12.
[Java] 배열과 대입연산자를 이용해서 돈의 지폐 단위 세기 공부하면서 쉬워 보였지만 막상 해보니 로직을 구현하는 게 쉽지 않았던 예제였다. 물론 로직의 최종 결과물은 생각보다 간단히 나왔다. 내가 짠 건 거의 막일에 가까운 코드였는데 여러 가지 생각을 해보면 그렇게 복잡한 로직은 아니었다. 먼저 전체적인 코드를 살펴보자. 스캐너를 통해서 값을 받아와서 그 값을 각 단위별로 쪼개는 로직이다. 각 단위의 설정은 배열로 설정을 했고 반복문을 통해서 입력값의 단위를 구현했다. 또한 프로그램의 종료를 위해서 -1이라는 값을 하나의 기능으로 설정했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45.. 2021. 7. 1.
[Java] arraycopy를 이용해서 1부터 9까지의 수 중 겹치지 않는 세 자리 수 출력하기 자바를 공부하면서 처음에는 예습을 한 만큼 할만한 부분이 많았는데 확실히 배열을 들어가면서 난이도가 확 뛰는 느낌이다. 단순한 로직이 아닌 중간에 배열이 생기면서 뭔가 한번 더 꼬아서 생각을 해야하는 부분이 생긴 것이다. 그래서 예전만큼 연습문제가 할만하다는 기분이 들지 않는다. 적어도 여기서부터는 예습과 복습을 정말 철저히 해야겠다는 생각이 든다. 오늘은 자바 배열복사(arraycopy)를 이용해서 1부터 9까지의 수 중 겹치지 않는 세 수를 골라서 세 자리의 정수를 만드는 실습을 해보려고 한다. 사실 예전에 한번 했던 건데 다시 복습을 해도 쉽지 않은 예제라고 느꼈다. 그런만큼 이렇게 한번 정리는 제대로 하고 가야할 필요가 있다고 느낀다. 일단 결과물은 아래와 같다. 실행을 하면 세 자리의 수가 나오.. 2021. 6. 28.
개발자가 되기 위한 비전공자의 IT국비지원학원 후기 #4 "갈수록 어려워지는 개발, 이래서 개발자 없다고 하나보다" 이제 4주 차가 지나갔다. 자바를 여전히 배우고는 있지만 갈수록 난이도가 높아지는 탓에 복습에 투자를 해야 하는 일이 늘어났다. 학원 수업 전에 예습했던 것이 확실히 완벽하게 배우고 시작한 것이 아니었다. 오히려 클래스와 패키지 부분부터는 이해도 잘 안 되고 코드를 직접 봐도 더 해석이 안되고 꼬인 부분이 많았다. 그전까지는 그래도 할만했는데 이제 진짜 어려운 부분으로 들어온 듯하다. 4주 차에는 대면 수업 없이 비대면으로만 진행을 했다. 비대면 수업도 이제 어느 정도 적응이 된 것 같다. 물론 대면 수업만큼은 아니다. 대면 수업은 내가 모르는 부분을 바로바로 체크할 수 있고 해결하기 수월하다. 그리도 선생님이나 다른 학원생들과의 커뮤니케이션도 .. 2021. 6. 23.