본문 바로가기

전체 글

(224)
[java/python] 프로그래머스 Lv2. - n진수 게임 코딩테스트 연습 - [3차] n진수 게임 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문항이 조금 복잡했다. 문제에서 가장 중요한 것은 10진수를 입력받은 n진수로 변환하는 것. 2진수, 8진수, 16진수는 파이썬 내장함수가 존재하지만 (bin(), oct(), hex()) 나머지는 직접 구현해야 했다. 다른 코드를 참고하였다. [python] * divmod(a,b) : a를 b로 나눈 몫과 나머지를 튜플 형태로 반환한다. * int(string, n) : n진수의 string을 10진수로 변환..
[python] 4803 - 트리 4803번: 트리 (acmicpc.net) 4803번: 트리 입력으로 주어진 그래프에 트리가 없다면 "No trees."를, 한 개라면 "There is one tree."를, T개(T > 1)라면 "A forest of T trees."를 테스트 케이스 번호와 함께 출력한다. www.acmicpc.net 정답률을 보고 겁을 먹었는데 간단한 문제였다. 입력으로 주어진 그래프에 트리가 있는지 판별하는 문제로, 중요한 것은 사이클이 존재하는지를 체크하는 것이다. 그래프가 존재하지 않을수도 여러개 존재할 수도 있기 때문에 union-find 알고리즘을 사용하여 루트노드를 기록하고 사이클이 존재하는지 체크하였다. 사이클이 존재할 경우 트리의 개수를 카운팅 하지 않는다. # 4803 트리 - union find ..
[TIL] Spring Boot(intellij) - 회원 관리 개발(2) - 테스트 구현 * 인프런 김영한 강사님의 스프링 입문 강의 정리 지난 강의에서 작성한 리포지토리와 서비스에 대해 각각 테스트 케이스를 작성한다. 테스트는 src/test/java의 하위 폴더에 생성하며 main의 구조를 그대로 가져온다. 자바는 JUnit 프레임 워크로 테스트를 실행한다. JUnit? - java에서 단위테스트(unit test)를 지원해주는 프레임워크 - assert()로 테스트 판별 - 테스트 어노테이션을 제공한다. ex) @Test, @Before.. ** ctrl+shift+T - 테스트 클래스 파일을 자동으로 생성해준다. ▶ 리포지토리(memoryMemberRepository) 테스트 package myStudyspring.myStudyspring.repository; import myStud..
[TIL] Spring Boot(intellij) - 회원 관리 개발(1) * 인프런 김영한 강사님의 스프링 입문 강의 정리 회원 관리 백엔드 개발을 진행하였다. 회원관리 도메인, 리포지토리, 서비스, 테스트 케이스 등을 생성하여 실행해 보았다. 현재 DB를 설정하지 않았으므로 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계한다.(데이터 저장소를 사용) ▶ 웹 계층 구조 컨트롤러 -> 서비스->리포지토리->DB 도메인 컨트롤러 : 컨트롤러의 역할 서비스 : 핵심 비즈니스 로직을 구현한다. 리포지토리 : DB에 접근하여 도메인 객체를 DB에 저장하고 관리한다. 도메인 : 비즈니스 도메인 객체 예제에서는 domain - member service - MemberService repository - memberRepository(interface), memoryMemberRe..
[TIL] Spring Boot(intellij) - 템플릿 엔진과 API * 인프런 김영한 강사님의 스프링 입문 강의 정리 스프링의 가장 기초인 정적 페이지, 템플릿엔진을 이용한 동적 페이지 그리고 MVC 패턴과 API를 공부하였다. ▶ 정적 페이지 - resources/static 하위에 html 파일을 생성 - 스프링 컨테이너에서 관련 컨트롤러가 없으면 resources: static하위의 html 파일을 찾아 웹 브라우저에 전송한다. ▶ MVC 패턴과 템플릿 엔진 MVC 패턴? - 디자인 패턴 중 하나로 Model, View, Controller의 약자이다. - 프로젝트 구성요소를 세가지의 역할로 구분한 패턴이다. - Model : 애플리케이션의 정보 - View : 사용자 인터페이스 요소 - Controller : Model과 View를 연결하는 역할, 이벤트 처리 -..
[python] 1167 - 트리의 지름 1167번: 트리의 지름 (acmicpc.net) 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 트리의 지름이란? 트리의 모든 경로들 중 가장 긴 경로의 길이를 의미한다. 문제 자체는 dfs나 bfs 로 구현하면 되는 문제였는데 트리의 지름을 구하기 위해 필요한 공식이 있었다. 트리의 지름이 u-v라고 할 때, 임의의 점 x에서 가장 먼 노드는 u 또는 v가 된다. 따라서 임의의 노드에서 가장 먼거리에 있는 노드를 찾고 그 노드에서 다시 가장 먼 거리의 노드를 찾으면 트리의 지름을 찾을 수 ..
[TIL] Spring Boot(intellij) - 프로젝트 생성 우선 intellij를 사용할 것이므로 설치하고 프로젝트 환경설정을 하였다. ▶ spring 프로젝트 생성 https://start.spring.io 에서 스프링 프로젝트를 생성한다. myStudy-spring으로 프로젝트 명을 정하고 build tool은 gradle로 하였다. 의존성도 추가할 수 있는데 웹 애플리케이션을 만들것이므로 spring web과 html 화면 템플릿을 위한 thymeleaf를 추가하였다. 확실히 sts를 사용하여 프로젝트를 생성할 때보다 훨씬 간단한 방식으로 스프링 프로젝트 생성을 할 수 있었다. ▶ source tree - 깃 연동 다음과 같이 git에 repositoy를 생성하고 sourcetree에 clone 하여 깃에 연동하였다. ▶ welcome page 생성 jav..
[TIL] Spring Boot(intellij) - start (스프링 입문 강의 정리) 스프링부트는 1년간 회사에서 일을 하며 사용했던 경험이 있다. 그만두고 혼자서 프로젝트를 따보려했는데 생각보다 쉽지 않았다. 회사에서 일할 당시 거의 세팅되어있는 환경에서 페이지 처리만 했었기 때문에 혼자 프로젝트를 시작해보려했으나 왜 이런 기능을 써야하는지도 제대로 이해하지 못한 채 구글링에 의존(?)하여 어거지로 프로젝트를 따려고 하는 나의 모습에 현타가 왔다.. (심지어 꼬여서 제대로 완성도 하지 못했다. 틈날 때마다 해결 중이다..) 그러던 중 김영한 강사님의 스프링 강의가 매우 평이 좋다는 것을 알게 되었다. 로드맵도 정리가 잘 되어 있었고 이 강의를 통해서 내가 그동안 가지고 있던 많은 궁금증들이 해소될 것 같아 듣기로 결심하였다. 입문 강의는 무료인데 첫 강의 몇개를 들어보고 알게 된 것은 ..

728x90