전체 글 76

[가계부 시스템] 4. 클래스 구조

2021.07.29 - [Project] - [가계부 시스템] 3. API 설계 [가계부 시스템] 3. API 설계 2021.07.15 - [Project] - [가계부 시스템] 2. 시스템 설계 - 아키텍쳐, DB [가계부 시스템] 2. 시스템 설계 - 아키텍쳐, DB 2021.07.15 - [Project] - [가계부 시스템] 1. 요구사항 정리 [가계부 시스템] 1. 요구.. blog.robinjoon.space 1. 패키지 구조 총 5개의 패키지로 구성되어있다. config : 스프링 설정을 모아둔 패키지이다. controller : API 호출시 동작하는 Controller들을 모아둔 패키지이다. dao : DB와의 통신을 담당하는 클래스들을 모아둔 패키지이다. dto : 가계부에 필요한 DT..

Project 2021.08.04

[가계부 시스템] 3. API 설계

2021.07.15 - [Project] - [가계부 시스템] 2. 시스템 설계 - 아키텍쳐, DB [가계부 시스템] 2. 시스템 설계 - 아키텍쳐, DB 2021.07.15 - [Project] - [가계부 시스템] 1. 요구사항 정리 [가계부 시스템] 1. 요구사항 정리 항상 쓰던 가계부 앱에 광고가 득실거려서, 직접 만들기로 했다. 기능적인 요구사항은 다음과같다. 여러 blog.robinjoon.space 본격적인 내부구현에 앞서 우선 클라이언트에서 어떻게 데이터를 요청할 것인지를 먼저 정해야했다. REST API로 설계하기로했다. 아래는 그 목록이다. /book/{YYYY-mm} 1. GET : YYYY-mm 에 해당하는 가계부를 가져온다. 여기에는 총 수입 지출과, 각각의 수입(지출)항목, 수입..

Project 2021.07.29

[객체지향의 사실과 오해] 4장 내용정리

2021.07.20 - [IT 책 독서록] - [객체지향의 사실과 오해] 3장 내용정리 [객체지향의 사실과 오해] 3장 내용정리 2021.07.14 - [IT 책 독서록] - [객체지향의 사실과 오해] 2장 내용 정리 [객체지향의 사실과 오해] 2장 내용 정리 2021.07.13 - [IT 책 독서록] - [객체지향의 사실과 오해] 1장 내용 정리 [객체지향의 사실과 blog.robinjoon.space 객체지향 설계의 전체적인 품질을 결정하는 것은 개별객체의 품질이 아니라 여러 객체들이 모여 이뤄내는 협력의 품질이다. 협력 각 객체간의 요청과 응답으로 이루어진 네트워크이다. 책임 어떤 객체가 어떤 요청에 대해 대답할 수 있거나, 적절한 행동을 할 의무가 있는 경우 해당 객체가 책임을 가진다고 말한다. ..

IT 책 독서록 2021.07.29

[CodeGround] Practice - 미궁 속의 방

입력 첫 번째 줄에 테스트 케이스의 수 T 가 주어진다. (1≤T≤50) 각 테스트 케이스의 첫 번째 줄에는 격자의 크기 N과 경근이가 움직인 횟수 K 가 주어진다. (1≤N≤100000, 1≤K≤300000) 각 테스트 케이스의 두 번째 줄에는 경근이의 움직임이 문자열로 주어진다. 문자열은 'U', 'D', 'L', 'R'로만 이루어지며, U는 위쪽, D는 아래쪽, L은 왼쪽, R은 오른쪽으로 움직였음을 의미한다. 주어지는 입력으로 인해 경근이가 미궁을 벗어나지 않는다는 것을 보장한다. 제한시간 1초(Java 2초) 출력 각 테스트 케이스의 답을 순서대로 표준출력으로 출력하여야 하며, 각 테스트 케이스마다 첫 번째 줄에 “Case #T”를 출력하여야 한다. 이 때 T는 케이스의 번호이다. 각 테스트 케..

Algorithm 2021.07.28

SCPC 2021 후기

24시간의 대회시간동안 고작 1문제 풀었다. 그것도 삽질하느라 8시간만에 풀었다. 역시, 아무 공부없이 SCPC에 참가하는 것은 무리였나보다. 2021.07.26 - [Algorithm] - [SCPC 2021] 친구들 입력으로 n 이 주어진다. 그 후 D1 ~ Dn 까지 입력으로 주어진다. i ">i 번 사람이 i + D i ">i+Di 번과 친구이고, 친구관계가 i 가 j를 친구라 생각한다면, j도 i를 친구라 생각 할 때, 친구 " data-og-host="blog.robinjoon.space" data-og-source-url="https://blog.robinjoon.space/34" data-og-url="https://blog.robinjoon.space/34" data-og-image="h..

ETC 2021.07.26

[SCPC 2021] 친구들

문제설명 입력으로 n 이 주어진다. 그 후 D1 ~ Dn 까지 입력으로 주어진다. i 번 사람이 i+Di 번과 친구이고, 친구관계가 i 가 j를 친구라 생각한다면, j도 i를 친구라 생각 할 때, 친구 관계인 극대 그룹의 개수를 출력하는 문제입니다. 극대 그룹이란 "현재 이 그룹 안에서 뽑은 임의의 2명이 서로 친구이면서", "이 성질을 깨지 않고 이 그룹에 누군가를 추가할 수 없음" 을 말합니다. 정확한 문제 본문은 대회종료 후 https://www.codeground.org/ 에서 확인할 수 있을것이다. 풀이 일단, 난 알고리즘을 잘 모른다. 일단 주어진 예제 입력으로부터 규칙을 찾아봤다. 8 10 5 4 2 5 1 3 1 9 이 입력으로부터 문제 조건에 의해 총 10개의 친구관계를 알 수 있다. 입..

Algorithm 2021.07.26

백준 2579 계단 오르기

https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있..

Algorithm 2021.07.26

[객체지향의 사실과 오해] 3장 내용정리

2021.07.14 - [IT 책 독서록] - [객체지향의 사실과 오해] 2장 내용 정리 [객체지향의 사실과 오해] 2장 내용 정리 2021.07.13 - [IT 책 독서록] - [객체지향의 사실과 오해] 1장 내용 정리 [객체지향의 사실과 오해] 1장 내용 정리 객체지향 시스템은 자율적인 객체간의 협력으로 이루어진다. 협력을 구성하는 각 객 blog.robinjoon.space 추상화 : 어떤 양상, 세부사항, 구조를 좀 더 명확하게 이해하기 위해 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법 추상화에는 두가지 차원이 있다. 구체적인 사물들간의 공통점은 취하고 차이점은 버리는 일반화를 통해 단순하게 만드는 것. 중요한 부분을 강조하기위해 불필요한 세부사항을 제거함으로써 단순하게 ..

IT 책 독서록 2021.07.20

[CodeGround] Practice - 프로그래밍 경진대회

문제 삼성 프로그래밍 경진대회는 권위 있는 대회이다. 대회는 여러 라운드를 통해서 진행되며, 모든 라운드에 총 N명의 응시자가 있다. 각 라운드 별로 1등은 N점, 2등은 N−1점 순으로 순차적으로 점수를 얻게 되고 뒤에서 2등은 2점, 뒤에서 1등은 1점을 얻게 된다. 그리고 각 라운드 별로 동점자는 없으며, 각 라운드 마다 받은 점수의 합이 제일 높은 사람이 우승하게 된다. 마지막 라운드 직전까지의 점수 합이 주어졌을 때, 우승할 가능성이 있는 응시자의 수를 구하는 프로그램을 작성하시오. (SCPC 실제 대회 규칙과는 관련이 없습니다.) - 제한시간: 전체 테스트 케이스는 5개 이하이며, 전체 수행 시간은 1초 이내. (Java 2초 이내) 메모리 사용제한 heap, global, static (총계..

Algorithm 2021.07.20

[CodeGround] Practice - 숫자 골라내기

문제 초등학교교 학생인 정우와 석환이는 최근 학교에서 두 이진수의 XOR 연산에 대해 배웠다. 둘은 매우 영특한 학생이라 새로 배운 연산을 갖고 이리저리 장난치기 시작했다. 다만 석환이는 정우에게 일을 시키는 것을 좋아하는지라 다음과 같은 제안을 했다. “내가 N개의 10진수를 주면, 등장하는 숫자들 중 홀수번만 나타나는 숫자들을 모두 XOR한 결과를 구해줘.” 예를 들어 '2, 5, 3, 3' 이 주어질 경우, '2'와'5'는 1번(홀수 번) 나타나고 '3' 은 2번 (짝수 번) 나타나므로 홀수 번 나타난 '2' 와 '5'를 XOR 한 결과를 구해야 하고, '2, 5, 3, 3, 2, 4, 5, 3' 이 주어질 경우 '2' 와 '5' 는 2번 나타나고, '3' 은 3번, '4' 는 1번 나타나므로 홀수..

Algorithm 2021.07.20