일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 서브모듈 yml
- 프로그래머스 자바
- kotlin
- 백준 1600번 말이 되고픈 원숭이
- hash
- append
- 백준 1240번 노드사이의 거리
- toUpperCase
- Stack
- map
- Java
- 스프링 다중프로필
- 프로그래머스 java
- 백준 2206번 벽 부수고 이동하기 G3
- 포인트 컷
- 스프링 on-profile
- 백준 11725번 트리의 부모 찾기
- 백준 1967번 트리의 지름 G4 자바
- StringTokenizer
- 백준 2660번 회장뽑기 G5
- StringBuilder
- dp
- 백준 2589번 보물섬 G5
- 전위 중위 후위
- 코틀린기초
- replace()
- 백준 8979번 올림픽 S5 자바
- 프로그래머스
- HashSet
- HashMap
- Today
- Total
목록분류 전체보기 (141)
말하는 컴공감자의 텃밭
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cAPiVb/btszLpddWlb/LDNgvxCAgq3DCUXaRsfG11/img.png)
DFS BFS 구현 문제이다. 싸피 준비하면서 가장 신경쓰는 부분인데 당연히 쉽게 풀어냈다. 유의점은 방문할수 있는 정점이 여러 개면 정점 번호가 작은것부터 먼저 방문해야한다. HTML 삽입 미리보기할 수 없는 소스 언제나 DFS 는 재귀함수, 방문한곳 true 후 다시 false로 돌려두기 기억하고 BFS는 Que를 LinkedList로 구현한 다음 add한 값에서 poll()로 조건을 넣어 계산하는걸 기억하자쟈자쟈자ㅑ
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/limLP/btszDzgqm3y/x7c1OJqhWzeM5rrHpyFRN1/img.png)
수학 구현 문제네오, 유의할 점은 숫자 배열에따라 길게 가져가는게 이득일 수도 있네오 예제 2 입력처럼 2 1 -4 3 4 -4 6 5 가 있으면 2부터 5까지 전부 더하는게 더 큰 경우가 생기듯 더했을때 생기는 이점을 고려하면서 짜면 될듯 합니다. dp를 사용해서 인덱스마다 값을 정해서 Math.max 비교로 해도 되겠네오 실수를 했었고만 꼴꼴 HTML 삽입 미리보기할 수 없는 소스
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bJngfv/btszzX3VHI5/yFhCC0GkSWdIkyF88phr91/img.png)
설명도 필요없다 후딱 짜봅시다. HTML 삽입 미리보기할 수 없는 소스 빈도를 Map을 활용했는데 사용이 어색해서 많이 틀렸었군요.. 조건이 또 여러개라면 두번째로 작은 값 때문에 틀렸네 안써도 풀거같은데.. 그리고 테스트 좀 잘하고 올리지 졸렸나 지금 생각으로는 산술평균 : Sum / N 중앙값 : sorting 후 N/2 idx 값 최빈값 : sorting 후 연속적으로 가장 많이 나오는 값 저장, List에 넣은 후 size() >= 2일 경우 -> 정렬 후 get(1) 범위 : sorting 후 최소값, 최대값 차 했을거 같네오
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cScJlZ/btszC4AH0kD/hnDkzk52RvNRZLhplmc5kK/img.jpg)
조건을 정리하면 M의 길이보다 작은건 제외, 자주나올수록, 단어가 길 수록 앞으로. 사전순으로 정리하면 된다. 단어는 1번만 나오게 해야하니까 Hash 구조를 쓰고, 얼마나 나왔는지 확인도 필요하므로 HashMap구조를 사용했다. 단어를 키로, 나온 수를 값으로 가져줬다. 그럼 뭐 쉽죵 HTML 삽입 미리보기할 수 없는 소스 기존에 편해서 scanner을 쓰고있는데 입력값이 워낙에 커서 버퍼리더로 받아줬다.. 얼른 습관 고쳐야하는데 코테보는 이후로 바로 고쳐 볼 예정이다
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nfK5O/btszlGgYT6g/2G0HZfPqIs0v2xjL68CePk/img.png)
최근에 뇌가 좀 이상했는지 깃에 저런 모양의 파일이 생겼다. 클릭도 안돼~ 저건 머야머야 하고있다가 아 저거 폴더 하위에 깃인가 하고 찾아보던 차 .git 하위 폴더에도 .git이 있기 때문이었다. 알고보니까 내가 workspace 폴더 자체를 푸시한게 문제였다 세상에 인텔리제이를 오랜만에 맛보다가 그만 ㅎㅎ 해결 방법 2가지 정도를 찾아보고 적용해봤다.. 1. 해당 폴더의 .git을 지우고, 스테이지 파일 제거 후 다시 push하는 방법. 해당 폴더에서 - rm -rf .git으로 깃을 지워준다. git rm -rf 명령은 Git에서 파일 또는 디렉토리를 강제로 삭제하는 명령이다. 다음 git rm --cached . -rf 로 스테이지에 존재하는 파일을 지워준다. 이 명령은 현재 디렉토리에서 모든 파..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/deHxi5/btszelvBHLH/sP0jn0VMMzBREpJv7wkYN0/img.png)
요즘은 문제 지문이 긴걸 위주로 풀려고하게 된다. 아무래도 코테 문제는 지문이 길지 않을까..? 하는 혼자 생각때문에 호호 먼저 근손실은 마음이 아프다,, 운동 못한지가 오래되서인지 문제 제목보고 홀린듯 풀게 되었다. 지문을 읽게되면 3대 500에서 (ㄷㄷ) 매일 매일 K만큼 중량이 줄게된다. 다만 키트가 있어서 키트를 꽂으면 중량이 즉시 증가하는데 이 대학원생은 욕심쟁이라 늘 500이상을 유지하고 싶어한다. 어떤 시점에서 봐도 500보다 작지 않도록 키트 순서를 정해주면 된다. 이 순서 경우의 수를 출력하면 되는 문제다. 막상 지문만 길지 짧게 표현할 수 있는 문제였다. 500에서 K * N 만큼 감소하되 키트를 사용하여 500 언더로 안떨어지게 하면 되는 문제다.. 모든 경우의 수를 출력하면 되기에 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9UNSZ/btszdfJGMt4/dwiTvE8chXvij9NStKcwU1/img.png)
스프링은 대규모 애플리케이션을 자바로 만들때 필요한 프레임워크이며, 구현을 위한 프레임 워크가 아닌 설계를 위한 프레임워크이다. 스프링 이론을 공부하면서 부족하고 헷갈린것들을 정리 해보려한다. 히ㅏ호하하ㅏ 스프링 동작 규정을 정의 해 놓은 파일 - Bean: 특정한 일을 독립적으로 수행하는 컴포넌트이다. - 자바빈: JSP에서 사용되는 데이터를 저장 및 관리하기 위한 컴포넌트이다. - Annotation: 자바 코드에 주석을 달아 특별한 의미를 부여한다. 이 의미는 컴파일 타임 또는 런타임으로 해석된다. 여기서 어노테이션은 클래스와 메서드에 추가해서 다양한 기능을 부여하는 역할이다. 코드량을 줄일 수 있고 유지보수하기 쉬워진다. @~ 방식으로 사용된다. @Test void 예외_테스트() { assert..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/drEX3u/btszfKPzxSQ/0UCLdVDc094UBCPNVt6fa1/img.png)
또 귀여운 캐릭터가 등장 했다. 문제를 요약하면 한줄에 이름 두개가 공백으로 주어지고, 그 중 한사람이 총총의 춤을 추고있다면 너무 흥이나서 만난 사람도 춤을 추게 된다. 바이러스 이런거였으면 다른 분위기 였을거 같다.. 초기에는 chongchong이만 춤을 알고 있고 동명이인은 없으며 대소문자를 구분한다.\ 시작해봅시다. 중복이 없어야 하면? Hash. 다른 요소가 없기 때문에 Hash set에 넣어주고 Hash.size()가 답이겠네오 HTML 삽입 미리보기할 수 없는 소스
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwRdsz/btsy9OzxwvJ/zkW3jKLgVuvPG0EEtQZrtK/img.png)
귀여운 곰곰이가 눈에 뛰는 문제이다. 문제를 정리하면 채팅방에 사람이름이 주어진다. ENTER 입력 이후 첫번째로 등장하는 이름의 로그는 인사를 뜻한다. 이는 결국 곰곰이로 인사한다를 뜻한다. 따라서 ENTER이후로 첫번째로 등장하는 이름의 수를 (곰곰이 등장~) 체크해서 출력하면 되는 문제이다. 중복을 없앤다 를 보자마자 Hash를 떠올려야 한다. Hash 해시는 키와 데이터를 저장해주는 구조이므로 키는 1개여야 하기 때문에 중복을 허락하지 않는다. 이런 특성 때문에 암호, 메시지 인증 등에 자주 등장한다. Hash Map은 키랑 데이터를 매핑하는 구조이므로 벨류가 필요없는 우리는 Hash Set을 활용해보자 HTML 삽입 미리보기할 수 없는 소스 스캐너가 익숙해서 인풋을 스캐너로 처리하는 바라에 공백..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KWCd8/btszb8cToGk/kLYIfRi0zCs97sV6T149JK/img.png)
문제를 보자마자 조합? 이라고 생각했다. 출처: https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2608F34059202A5833 왼쪽 다리놓을 포인트와 오른쪽 다리 놓을 포인트가 주어지고, 그 사이에서 다리 를 연결할 수 있는 경우의 수 이다. 다리는 겹쳐지는것이 허용되지 않는다. 그럼 뭐 순서가 필요없는 조합이자나요~ 다리 1개만 놓을건데. 다만 수가 굉장히 크기 때문에 Big Integer을 사용하거나, 모든 경우의 수를 저장해놓고 더하는 방식으로 진행했다. 조합에서 파스칼 삼각형을 사용하여 점화식을 적용했다. 출처 : https://namu.wiki..