해쉬맵 함수만 잘 알고 있으면 금방 풀릴 문제 !Integer getOrDefault(Object key, Integer defaultValue)key 값이 있으면 해당 value값을 반환하고 없으면 디폴트값을 반환해준다.
해쉬맵을 이용해서 풀어봤는데 런타임 에러가 나서 다른 사람 풀이를 좀 봤다 ... 다른 사람의 풀이는 해쉬맵을 이용하지 않고 배열을 오름차순으로 정렬 후 startsWith 함수로 체크했다.난 일단 오름차순 정렬후 가장 짧은 번호의 길이를 체크했고 다른 번호들을 다 그
규칙은 금방 찾았는데 코드로 짜면서 헛발질을 좀 했다 ..사용된 함수는 기존 해쉬문제 풀면서 썼던 함수들이라 따로 언급은 하지 않겠다.규칙을 구하기 위해 설정해 놓은 케이스들F 얼굴, T 상의, P 하의1) F(2) + T(1) = 52) F(3) = 33) F(2)
정확도 절반의 실패코드 ... 풀이 참고해서 다시 짜보고 수정해야겠다 흑흑
내 코드는 먼저 시작과 끝, 반환될 위치의 인덱스를 각각 구했다. 입력받은 문자열 배열을 시작부터 끝까지 돌리며 사용되는 문자만 임시 배열에 담고 오름차순 정렬 후 반환될 위치의 인덱스를 사용해 답을 구했다. 입력받은 위치와 배열의 인덱스가 서로 다른 위치를 가르킨다는
주입식 교육이 빛을 발하는 순간 팩토리얼이 바로 떠올랐다 각 자릿수마다 올 수 있는 경우의 수를 넣어서 수를 조합하고 정렬하여 가장 큰 수 리턴 ! 하면 된다고 생각했으나 생각보다 쉽지 않았다. 그래서 야매로 시도해본 실패 소스 문자열 정렬하면 맨 앞의 숫자 기준
머리를 껭껭꽁꽁 싸매다가 풀었다 (다른 사람 풀이 보니까 훨씬 간결하고 잘해놨지만 일단 혼자 힘으로 해냈다는 점에 의의를 두기로..)우선 인용 논문 횟수를 오름차순 정렬하여 남은 논문 수를 cnt에 담았다. h번 인용한 논문이 h편 이상 있어야 하므로 h_index를
큐와 해시맵을 이용해서 통과!첫번째 기능 오픈 날짜를 기준일자로 잡고 해시맵에 맨 처음 담은 후, 그 일자보다 이후일 때마다 기준일자를 갱신하고 해시맵에 새로 담았다. 큐가 비워질 때까지 반복문을 돌려 peek으로 비교할 날짜를 꺼내와서 오픈이 된 기능의 날짜들은 po
틀렸음 고쳐야됨 임시 저장 !!!
큐와 스택을 이용하지 않고 이중포문으로 푼 문제! 레벨2여서 괜히 어려울까봐 지레 겁먹었는데 너무 쉽고 간단하게 풀었다. 비교대상의 값이 남은 값보다 큰지 작은지만 체크해주면 되는 문제였다. 고뇌라고 할건 없고 그냥 문제 풀었던 흔적..
내가 우선순위 큐의 특징에 대해 조금만 더 잘 알았다면 금방 풀 수 있었을 문제..! 비록 시간을 좀 잡아먹긴 했지만 통과했고, 공부했다 !!!우선순위 큐는 큐와 동일한 메소드가 사용되지만 (add, offer, poll 등) 다른 점이 있다면 큐에 값 추가 시 즉시
출처 : https://codevang.tistory.com/316스스로 풀기 실패하여 구글링해서 나온 코드보고 분석했다 ..
아직 어디 내놓기 부끄러운 코드 ... 일단 들어온 값을 띄어쓰기 기준으로 잘라주어 원소 삽입인지 삭제인지 구분하고, 큐 두개를 만들어 poll로 최소/최대값 삭제할 수 있도록 했다근데 다 짜고보니 저 while문 두개가 넘 보기싫고 성능적으로 안좋을 것 같아서 다른
풀어보려고 매우 끙끙댔으나 결국 다른 사람 풀이를 보고 이해했다이 문제는 재귀함수가 핵심 키워드였다 중복되는 조합을 알아서 제거해주는 HashSet에 조합들을 저장했고 재귀함수를 통해 현재 선택된 숫자에서 있을 수 있는 모든 경우의 수를 구했다소수 판단은 에라토스테네스
조금 쉽다고 생각하고 풀었는데 다른 사람 풀이 너무 간단해서 기절할 뻔했다나는 일단 전체타일에서 노란타일과 모서리 네개를 빼주고 2로 나눠 갈색 타일에 필요한 총 갯수를 구했다. 해쉬맵에 노란 타일의 약수를 키 밸류 형태로 담아 갈색 타일에 필요한 총 갯수와 일치하는
테스트 케이스 이거 통과하면 저게 안되고 저거 통과하면 이게 안되고 해서 꽤 오래 시간 붙잡은 문제..각각 큐에 담고 중복인 값은 따로 빼서 저장해놓았다 그리고 반복문을 돌려서 빌려줄 수 있으면 카운팅을 올리고 큐에서는 빼줬다 중복인 애들은 이미 처음에 카운팅 됐으니까
효율성에서 세 문제 틀려서 통과를 못한 코드 .. 내가 생각한 방법은 내림차순으로 정렬해서 반복문을 돌린 후 가장 가벼운 무게와 더해 한 보트에 탈 수 있는지 체크하고 큐에서 빼내주고 못타면 새보트에 태우는 식이었는데 정확성에선 다 맞았지만 효율성이 안좋았나보다다시 보
오 이렇게 하면 ㄷㅓ 쉬웠을텐데..
난 완전 어렵게 풀었네 ..!!!
다른 사람 풀이 볼 때마다 놀라움을 금치 못한다조금만 더 생각하자 생각생각 !!!
해시셋을 이용해서 중복을 먼저 제거하고 고를 수 있는 포켓몬 수가 포켓몬 종류보다 크면 포켓몬 종류, 반대면 포켓몬 수만큼 반환시켜서 통과!
야심차게 코테 공부 시작 !!! 이 문제는 DFS, BFS 두 가지 방식으로 풀 수 있는 문제이다. 잘 몰라서 풀이봤다 ^^; .. 그래프 탐색 알고리즘(DFS/BFS) 여러 개체들이 연결되어 있는 자료구조에서 특정 개체를 찾기 위한 알고리즘을 말한다. 경로탐색
DFS와 BFS 수행결과를 출력하면 된다.순서보장 및 중복제거를 위해 HashSet을 사용했다.해시셋을 그냥 출력해버리는 바람에 한 번 틀리고, 클래스명 Main으로 안고쳐서 한 번 틀리고, 패키지명 안 지워서 한 번 틀린 것 빼면 바로 맞혔다고 볼 수 있다! ^\_ㅠ
실패코드 ,, 내일 힌트를 좀 얻어서 다시 풀어봐야겠다 💤 유형까지는 어떻게 감 잡은거 같은데 도저히 풀리질 않는군
오 웬일로 한번에 성공 !!! dfs로 풀었다. bfs로도 한번 풀어봐야겠다.어제 풀었던(=풀이를 참고했던) 문제 덕분에 좌표를 떠올릴 순 있었으나 코드에 적용하는건 아무래도 익숙치않아서 그냥 내 방식으로 풀어봤다!일단 배추가 심어져있는 배추밭을 배열 안에 boolea
bfs로 풀어본 유기농 배추 2탄 ..
DP 유형은 많이 안풀어봐서 그런가 잘 모르겠다.. 30분 이상 고민하지 말고 모르겠으면 풀이보라길래 결국 풀이보고 제출 성공 ㅠ 많이 푸는게 답이라고 했으니 많이 풀어봐야지 🙋♀️ 아직도 완벽하게 이해는 되지 않지만 DP는 기억하며 프로그래밍하는 방법이다.
옛날에 비슷한 유형을 풀었었던 기억이 있어서 희미한 기억을 더듬어.. 거꾸로 접근을 했다. 2 x2 3 x3 4 x2 x2 5 x2 x2 +1 6 x3 x2 7 x3 x2 +1 8 x2 x2 x2 9 x3 x3 10 x3 x3 +1 11 x3 x3 +1 +1 12
나는 dp에 능숙하지 못해서 일단 쓰고보는 타입.. 나름의 규칙을 찾아보니 직전 배열들에 저장된 조합들에 1씩만 더하면 원하는 조합이 된다는 걸 알았다.예를 들면 (1은 조합이랄게 없으니 패스하고)dp2 = dp1에 1씯 더하고 (1 1) 조합의 일부분인 2 dp3 =
상근이는 왜 최대한 적은 봉지로 배달하려고 해서 날 힘들게 하는걸까? 그냥 되는대로 배달할 것이지.. 어차피 무게는 같구만..오늘은 풀이를 적을 여력이 없으므로 내일 수정하든가 해야겠다.. 성공코드..
이것은 나의 자존감 상승을 위한 브론즈 문제.. 다행히 맞았다! 사실 틀렸어도 기죽을 필요는 없다 더 공부하면 되니까!!!!! 요거슨 성공코드풀이를 하자면.. 0층부터 k층의 n호까지 일일이 계산해봤다. 그랬더니 직전 층의 호수만큼씩 값이 증가하는 것을 확인할 수 있었
실버1,2는 너무 어려워서 자체 단계 하향 ... 피보나치와 똑같은 규칙으로 풀면된다! 피보나치 함수와 똑같은 규칙으로 문제를 풀면 된다. 나는 공책에 하나하나 써서 1과 0이 호출되는 횟수가 n-1과 n-2의 합임을 알아냈고 바로 코드 구현! 뭐든지 다 직접 써
👩💻풀이문제 자체는 쉬웠다! (일일이 써보면 쉽다..)1 12 11 003 1(00) 11(1) 00(1)4 11(00) 00(00) 100(1) 111(1) 001(1)5 100(00) 111(00) 001(00) 1100(1) 0000(1) 1001(1) 11
그나마 조금 할 줄 아는 그래프 탐색 ~!!
👩💻 풀이 완전 dp의 정석인 문제가 아닐까 싶다! 일단 0,0 에 초기값을 세팅해주고 삼각형만큼 반복문을 돌린다. 컴퓨터는 대각선으로 이동할 수 없으니 직각삼각형으로 만들어 2차원 배열에 담아 현재 위치 기준 왼쪽위와 바로위의 값을 현재값과 더해 차례로 비교
너무 어려웠다ㅠ 풀이의 도움을 받았다..설명은 내가 완벽하게 이해 후 다시 수정해서 적어야지 ..
dp랑 좀 친해진다고 생각했는데 두번 연속 배반당하고 풀이의 도움을 받았다.. 이것도 코드는 현타올 정도로 짧은데 이해가 안돼서 계속 보고 또 보고 했다 🥲 풀이 👩💻 세잔을 연속으로 마실 수 없으므로 경우의 수가 총 세가지 나온다. O O X 전전과 전
감이 잡힐락 말락 .. 알 것 같다가도 모르겠고 .. 우선 메모리초과로 실패했지만 내 접근법은 이랬다.
풀이👩💻이차원배열을 만들어서 인덱스 0번엔 N자리 수, 1번엔 0/1 로 끝나는 이친수의 갯수 로 지정했다.비슷한 유형을 풀어봤어서 이번엔 접근하는게 어렵지 않았다!dp1 = 한자리 수 중 0으로 끝나는 이친수 갯수 = 0개 (0으로 시작할 수 없으므로)dp1 =
직전에 풀었던 문제랑 유형이 완전 똑같아서 쉽게 풀었다!근데 이중포문을 돌려서 한번 시간 초과가 났다. 생각해보니 이중포문을 돌릴 필요가 없었ㅇ는데.. 암튼 완료 ~!
많은 시행착오가 있었다.dfs는 항상 이차원 배열로 풀었는데 정점의 최댓값이 100,00이라 힙영역에 메모리 초과가 났다.로직은 맞았어서 이차원 배열 > 리스트로 바꿔주니 문제 해결은 됐다.나는 ArrayList 배열을 통해 풀었는데 다른 풀이를 보니 ArrayList
24479랑 같은 문젠데 좀 다르게 풀었더니 틀렸다.. 뭐가 문제일까? 고민해보고 수정해야지
쉬운듯 안쉬운듯비슷한듯 안비슷한듯 \~~
24444번 문제와 똑같고 오름차순 내림차순만 다르지만 새로 풀어봫다! 이제 좀 알 듯 말 듯 감이 잡힌다 그래프!!!
문제 자체는 어렵지 않지만 알아두면 좋을 개념이 있어서 정리!Comparator 인터페이스를 오버라이딩하여 인자값으로 넘겨 sort 메서드를 사용한다. 구현해준 분기문에 맞게 2차원 배열이 알맞게 정렬되는 걸 확인할 수 있다.람다식은 익명함수라고도 불리는데 일회성으로
요즘 브론즈만 풀었더니 딱히 풀이랄게 없었는데 오랜만에 BFS 실버 !dfs bfs는 자신있다고 생각했으나 유형이 좀만 달라지면 헤맨다 ㅠ 많이 풀어보는게 답 !수빈이가 움직일 수 있는 모든 경로에 경과한 시간을 배열에 저장해주고 그 경로를 q에 넣어 동생이 있는 곳에
이것도 문제 자체는 어렵지 않았지만map의 정렬같은 경우 꽤 자주 나왔던 걸로 기억하기도 하고한번 정리해두고 완벽히 이해하면 좋을 것 같아서포스팅 !중복되는 단어는 한번만 출력되면 되기 때문에 map에 키값으로 입력받은 단어, 밸류값으론 그 단어의 길이를 넣었다.1\.
문제 자체는 deque를 이용하면 너무 쉬웠는데 시간초과가 나서 어떻게 튜닝했는지 남겨보려고 포스팅한다!기존 소스는 아무 생각없이 명령어를 " " 기준 토큰으로 잘라서 분기문 돌린 후 sout을 찍어줬는데 시간 초과가 났다.자바 개발할 때도 system.out.prin
그동안 사이드 프로젝트한다고 브론즈들만 깨 부시다가오랜만에 dfs bfs 문제 도전했는데 틀렸다 ..테스트 케이스는 맞았는데 어디가 틀렸는지 모르겠어서 좀만 더 고민하다가 포스팅 수정해야겠다 T-T
브론즈 풀 땐 몰랐지 이런 절망감 ,,, dp는 왜 풀 때마다 새로울까? 계속 계속 계\~~속 푸는게 답이다! 어렵다고 피하지 말고 풀자 꾸준히 푸는게 답이다 !!!허무하리만치 짧고 간결한 코드 ..점화식을 구하기 위한 그림n값이 증가함에 따라 1x2, 2x1, 2x2
역대급 어려웠다.문제 이해 자체가 안돼서 풀이를 봐도 못 풀겠었던 애증의 dp 문제..처음엔 이렇게 접근했다첫 줄에서 가장 작은 값의 위치를 찾고다음줄에 그 위치를 제외한 가장 작은 값을 더하고 위치를 갱신하고또 그 다음줄에서 그 위치를 제외한 가장 작은 값을 더하고
비교적 쉽게 풀 수 있었던 dp 문제!규칙을 찾았더니 정삼각형은 역삼각형 두개의 변으로 만들어지고 역삼각형은 정삼각형 두개의 변으로 만들어졌다. 만들어지는 변의 인덱스를 찾아보니 i-1과 i-5번째임을 알 수 있었고 점화식을 도출하면?dpi = dpi-1 + dpi-5
실패코드 ..dfs/bfs는 자신이 조금 붙어서 스스로 풀어보려했으나 안된다풀이 참고하고 다시 풀어봐야지.. 일단 포스팅 ㅠ
내 방식대로 풀고 다른 사람 풀이를 참고했는데 확연하게 달라서 포스팅 해보는 바구니 순서 바꾸기..!내가 한 방식은 기준이 되는 숫자부터 end까지 배열을 한 카피 뜨고 start부터 기준점 전까지 배열을 한 카피 떠서 기존 배열의 값을 변경하는 형태였다. 어차피 바구
쉬운 문제는 따로 풀이 안 적었는데 코틀린 공부할 일이 생겨서 코틀린 문법도 익힐 겸 자바/코틀린 코드를 포스팅해야겠다!쉬웠다! 코틀린 문법은 아직 익숙치않아서 좀 헤맸지만..
아직은 코틀린으로 문제풀 땐 구글링과 컴파일 에러 몇번은 필수구나 ,,, 근데 메모리랑 시간, 코드길이 면에서 확연하게 성능이 더 좋다는걸 알 수 있다 !!!
첫번째 난관은 진법 변환하는 방법을 까먹었다는 것 (...)110(2) 를 적어서 일일이 손으로 계산하고나서야 비로소 생각났다2진법 -> 10진법 바꿔놓고도 한참은 헷갈렸다는 건 안 비밀아스키코드를 사용하면 쉽게 구할 수 있다 for문을 감소하는 형태로 돌려서 각 자릿
리스트에 담아서 그냥 가지고 있는지 체크해서 풀려고 했던 나 반성 .. 이 문제는 이진탐색을 이용해서 풀지 않으면 시간 초과가 났다순차적 탐색은 최악의 경우 모든 수를 거쳐야하기 때문에 시간복잡도가 O(n)이지만 이분탐색은 탐색할때마다 반씩 줄어들기 때문에 시간복잡도가
점화식은 잘 찾았는데 조건을 잘 찾아놓고 분기처리를 제대로 안해줘서 틀렸다..ㅠㅠ틀린코드는 주석으로 남겨놨다 ! 뭘 틀렸는지 다시 뜯어보려고 ㅎㅎㅎ 정확히 내 소스가 되면 그때 한번 더 풀어보고 지워야지.. 코틀린으로도 한번 풀어서 업로드 해야겠다..(내일)점화식을 노
N이 1이면 M의 갯수만큼 다리를 놓을 수 있고, N과 M이 같으면 각각 연결해야하므로 한가지밖에 방법이 없기 때문에 두 가지는 일단 예외 처리해주었다.(N은 M보다 무조건 작고 다리는 겹칠 수 없다!)일단 작은 수부터 점을 찍어 수를 세어봤는데 위에서부터 차례로 아래
풀기만 하다가 오랜만에 포스팅..문제 이해를 잘해야 된다!2번이 맨 위 정수를 빼고 출력한다 였는데나는 맨위를 pop으로 빼고 stack을 map으로 돌려서 쭉 처리해줬는데그냥 pop한 정수를 출력하면 되는거였다..그냥 포스팅하고 시펑서 가져왔다
❌ 틀린소스 수정 필요88퍼센트까지 올라가길래 어랏?하고 도키도키했는디 실패사실 깊게 생각 안하고 풀어봤다그냥.. 1번을 기준으로 앞 순서들이 내림차여야 스택에 넣었다가 꺼내서 줄을 세울 수 있다고 생각해서 그렇게 풀었는데 왜 틀렸는지는 좀 더 생각해봐야겠다혹시 뒷순서