전체 글(121)
-
[항해99] WIL - 3주차 회고록
Weekly I Learned Spring 게시판 만들기 MVC 디자인 패턴 이번 주차는 Spring 프레임워크를 사용해 게시판을 제작하였고 가장 중요하다고 생각되는 MVC 디자인 패턴에 대해서 공부하였다. DI (의존성 주입) 이란 Spring 프레임워크는 3가지 핵심 프로그래밍 모델을 지원하고 있다. 그중 하나가 의존성 주입(Dependency Injection, DI)이다. 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 다이내믹하게 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해 준다. 의존성이란 한 객체가 다른 객체를 사용할 때 의존성이 있다고 한다. IoC (제어의 역전) 이란 일반적..
2022.03.27 -
백준 2309번: 일곱 난쟁이
문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. 입력 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. 출력 일곱 난쟁이의 키를 오름차순으로 출력한다. 일곱 난쟁이를 찾을..
2022.03.25 -
[인텔리제이] mac 에서 갑자기 클릭이 되지 않는다.
인텔리제이를 이용하여 코드 편집 중에 크롬이나 다른 프로그램으로 잠깐 넘어갔다가 에디터로 다시 돌아왔을 때 프로젝트 패키지는 물론이고 마우스 포인터를 내가 원하는 곳으로 옮기지 못하여 드래그도 안되고 아예 멈춘 것처럼 문제가 생겨서 키보드를 사용해 마우스 포인터를 옮겨 코드를 지운적이 있다. 어쩌다 한 두번이면 이해를 하겠지만 계속해서 문제가 발생하길래 프로젝트를 껐다가 다시 실행시키면서 해결되었다. 하지만 계속해서 껐다가 켤 수는 없으니 검색을 통해 해결 방법을 찾아보았다. 해결방법 한/A 키를 눌러주자. 패키지나 파일들이 클릭이 되며 원상태로 복구되었다.
2022.03.21 -
백준 17608번: 막대기
문제 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 6, 9, 7, 6, 4, 6 이다. 일렬로 세워진 막대기를 오른쪽에서 보면 보이는 막대기가 있고 보이지 않는 막대기가 있다. 즉, 지금 보이는 막대기보다 뒤에 있고 높이가 높은 것이 보이게 된다. 예를 들어, 그림과 같은 경우엔 3개(6번, 3번, 2번)의 막대기가 보인다. N개의 막대기에 대한 높이 정보가 주어질 때, 오른쪽에서 보아서 몇 개가 보이는지를 알아내는 프로그램을 작성하려고 한다. 입력 첫 번째 줄에는 막대기의 개수를 나타내는 정수 N (2 ≤ N ≤ 100,000)이 주어지고 이어지는 N줄 각각에..
2022.03.20 -
[항해99] WIL - 2주차 회고록
Weekly I Learned CODE Chapter 1 - 6까지 읽고 정리. 알고리즘 프로그래머스 1레벨 문제 모두 풀기. Spring 기본 CODE는 챕터별로 정리를 했고 프로그래밍과 주제가 적합하다고 생각되는 부분은 추가적으로 정리했다. 계속해서 25 챕터까지 작성할 예정이다. 자바 기반 스프링 하면서 공부했던 개념 중 객체지향프로그래밍의 의미와 JVM 이 어떻게 사용되는지 알아보자. 객체지향 프로그래밍 (OOP : Object - Oriented Programming)이란 컴퓨터 프로그래밍 패러다임 중 하나이다. 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수..
2022.03.20 -
백준 2810번: 컵홀더
문제 십 년이면 강산이 변한다. 강산이네 동네에 드디어 극장이 생겼고, 강산이는 극장에 놀러 갔다. 매점에서 콜라를 산 뒤, 자리에 앉은 강산이는 큰 혼란에 빠졌다. 양쪽 컵홀더를 이미 옆 사람들이 차지했기 때문에 콜라를 꽂을 컵 홀더가 없었기 때문이다. 영화를 보는 내내 콜라를 손에 들고 있던 강산이는 극장에 다시 왔을 때는 꼭 콜라를 컵 홀더에 놓겠다는 다짐을 한 후 집에 돌아갔다. 극장의 한 줄에는 자리가 N개가 있다. 서로 인접한 좌석 사이에는 컵홀더가 하나씩 있고, 양 끝 좌석에는 컵홀더가 하나씩 더 있다. 또, 이 극장에는 커플석이 있다. 커플석 사이에는 컵홀더가 없다. 극장의 한 줄의 정보가 주어진다. 이때, 이 줄에 사람들이 모두 앉았을 때, 컵홀더에 컵을 꽂을 수 있는 최대 사람의 수를 ..
2022.03.19