목록분류 전체보기 (265)
print("와챠의 개발 기록장")

Adapter Pattern Adapter 패턴은 말 그대로 어댑터 역할을 하는 패턴이다. 원래 있는 것을 필요한 형태로 수정해서 재활용하는 역할을 한다. (내가 가지고 있는 것과 내가 원하는 것 사이를 연결해주는 패턴이다.) 아래와 같은 느낌이다. 내가 가지고 있는 것 내가 원하는 것 아래 예제는 내가 갖고 있는 5핀 충전기에 어댑터를 껴서 내가 원하는 C타입 충전기로 만들어 이북 리더기를 충전하는 예제이다. 쉽게 표현하면 아래와 같다. 5핀 충전기 C타입 충전기 --> 이북 리더기 Adapter 패턴에는 총 2가지 종류가 있다. 하나는 상속을 이용한 Adapter 패턴이고, 하나는 위임을 이용한 Adapter 패턴이다. 1, 상속을 이용한 Adapter 패턴 Main = 이북 리더기를 충전하는 나 C..

Iterator Pattern Iterator 패턴은 for 문의 i 같은 느낌이다. 여러 원소들이 들어있는 배열에서 한 원소씩 (통일된 방법으로) 차례대로 선택하는 데에 사용한다. 아래 예제는 독서실에 들어간 사람의 이름, 번호, 입장 시간을 차례대로 표시하는 프로그램이다. 예제로 뭘 할까 생각하는데 코로나라서 이런 명부를 적는 것이 생각나서 만들어보았다. Aggregate = 독서실 집합체 Iterator = 하나씩 차례로 선택하는 Iterator의 집합체 StuydingRoom = 독서실 StudyingRoomIterator = 독서실에 있는 사람들을 한명씩 차례로 선택하는 Iterator Person = 사람 여기서 주목해야할 점은 Main 클래스의 이 부분이다. 이 부분은 아래처럼 for 문으로..
만들고 싶은 앱이 있는데 일단 앱은 어떻게 만드는지 잘 모르겠어서... 그전에 자바로 대충 정리해보려고 했는데ㅋㅋㅋㅋㅋㅋㅋ 아 자바로 구현하는 것도 어렵네!??!^^ ... ...... 그래 난 코딩 배운 지 1년도 안 되었으니까... 모를 수도 있지... 그치만... 답답하다. 뭔가 클래스끼리 관계도 내가 직접 만들어야 하고 그 안에서 일어나는 과정들도 매끄럽게 내가 잘 다듬어야 하고... 머리로는 알겠는데 머리가 안 따라주는 기분임;;; (엥?) 지금은 만들고 싶은 앱 목적이랑 각 목적에 어떤 서비스를 어떻게 제공할 건지 노트에 대충 끄적여놨다. 그리고 자바로도 만들고는 있는데... 어렵다... 추상 클래스로 먼저 뼈대를 잡아놔야 하나? 뭐부터 해야 할지, 또 어떻게 구현해야 할지 막막하다.ㅋㅋㅋㅋㅋ..

문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i 번 점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 풀이(C) 풀이(JAVA) 저번 문제에서 비교함수를 x, y로 바꿔주기만 하면 끝!!
이 책도 8/1에 읽은 거다. 노인을 타깃으로 앱을 만들고 싶은데 어떻게 하면 좋을지를 몰라서 읽어본 책이다. 그리고 와장창 충격을 받았다. 노년층을 타깃으로 하려면 시장 전략을 세울 때 제품 대상 연령을 알 수 없도록 하거나, 아예 제품을 이용하는 젊은 층을 부각해야 한다는 것이다...!!! 왜냐하면 우리 사회는 아직 "늙음"에 대한 시각이 부정적이기 때문이다... 책에서 들어준 예시가 아직도 기억난다. 나이가 들어 이 건강이 안 좋아져서 아이용 죽을 먹는 노인들이 있다고 한다. 이들을 위해서 어떤 회사가 노인용 죽을 만들었다. 그런데 그 죽이 잘 팔리지 않았다는 것이다. 왜냐면 어르신들이 아이용 죽을 사면 자식들 음식을 사주는 것이 되지만 노인용 죽을 사면 '나 늙어서 이런 거 먹는다'라고 광고하는 ..

8월 말에 쓰지만 사실 이 책은 7/21~23에 읽었다. 폰 갤러리 보는데 저때 찍은 사진이 있어서 이제야 쓰는 느낀 점 ㅎㅎ 인문학 + 과학인 책이라 정말정말 흥미롭고 재밌었다. 혁명을 시작한 사람들도 혁명이 어떤 것인지, 어떤 영향을 미칠지 몰랐다는 점과, 창의성은 전혀 상관없어 보이는 두 분야의 만남에서 나온다는 것이 기억에 남는다. 과학과 인문학은 둘 다 중요하고, 서로를 융합할 때 더 멋진 결과를 내는데 인문학은 과학보다 중요하지 않다는 취급이 널리 퍼져있는 것 같다. 아무튼 이 책을 읽은 이유는 요즘에 4차 산업혁명, 실버 사회에 관심이 많아져서이다. 내가 만들고 싶은 앱도 거기에 초점을 맞추고 싶은데 갈피가 잘 안잡혀서 책을 보고 도움을 얻고자 했다. 결론은 흠... 더 복잡해졌다. 고령화 ..

문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i 번 점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 풀이(C) 풀이(JAVA) JAVA에서는 toString()을 오버라이드 하지 않거나, 출력할 때 StringBuilder을 쓰면 더 빨라진다. (StringBuilder sb = new StringBuilder(); for문으로 sb...