목록분류 전체보기 (248)
와챠의 우당탕탕 코딩 일기장
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...
문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자릿수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 풀이(C) 풀이 (JAVA) JAVA를 C언어 풀이대로 풀어도 당연히 맞다고 나옴! JAVA는 참 다양함 함수가 주어져서 편하다...^^
문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. 출력 첫째 줄에는 산술평균을 출력한다. 소수점 이하 첫째 자리에서 반올림한 ..