코딩테스트 광탈방지 A to Z 인강을 수강하며 학습한 점을 기록하겠다! 🐸🐸 배열 기존 필자는 배열을 리터럴 방식으로만 생성해왔다. (우테코 프리코스 피드백에서 이렇게 배열을 생성하라는 제한 사항도 있었다!) 그렇지만 사실 배열을 생성자함수를 사용하여 생성해
코딩테스트를 연습하는 방법을 바꾸어보려고한다! 매일 1~2문제를 꾸준히 푸는 것은 좋지만 어떻게 꾸준히 풀어나가냐가 중요한 것같다.앞으로는 30분안에 문제를 해결하지 못했을 때는 실패로 간주하고 해답을 볼것이다.그리고 타인이 써주신 코드를 확인하고 그곳에서 배운 점을
나의 풀이는 1\. s==="1"이 될 때 까지 s를 깎아 나가야겠다!2\. "0"을 filter로 제거할 때마다 zeroCount를 1씩 높이자3\. 그 후 s= 0이 제거 된 배열의 길이를 2진법으로 나타낸 값으로 "재할당" 해준다4\. 그리고 transCount(
위 문제는 스택문제였다.스택 Arr을 생성하여 배열을 순회하면서 이전의값들과 비교 후 스택 Arr을 제거해나가면된다.이 문제는 이전에도 풀었었고 논리도 그 전과크게 다르지 않았다위 코드는 처음 풀었던 코드이다. continue를 통해 if를 최대한 두번 안쓰려고 노력했
이 문제는 완전탐색 카테고리로 분류되어 있었다. 완전 탐색이란 반복문을 사용하여 말 그대로 경우의 수를 구하는 문제이다. 필자는 이 문제에서 구해야 하는 것은 전체 카펫의 가로길이와 세로길이임을 알고규칙이 있을 거란 생각을 했다. 내가 발견한 규칙은 다음과 같다.x,
위 문제는 이번에 다시 풀어서 성공할 수 있었다. 이럴때마다 보람을 느낀다..! 그래도 이전에는 일단 코드부터 짜고봤는데그것보다 지금처럼 생각을 해보고 코드를 짜는 방법이 더 효율적인거 같다.위 문제는 사실 문제를 이해하는 게 더 중요했다. 필자는 n 편 중 h번 인상
이 문제는 이상하게 계속 풀리지 않는다.. for문을 삼중으로 사용하여 테스트 케이스를 통과했지만 본 채점을 하면 0점이 나온다. 이유는 런타임 에러 .. 그런데 예전에 내가 풀었던 풀이를 보면 같은 방법으로풀었는데 그 코드는 통과하고 이번에 필자가 푼 코드는 통과를
다음 문제를 접근할 때 3가지를 고려했다. 1\. 이중배열을 만들자2\. 배열끼리 붙이자3\. 자르자즉, 규칙에 따라 n크기의 이중 배열을 만들고 그 배열을 다시 일차원 배열로 만들어 index left ~ right 까지잘라 return 할 생각이었다. 하지만 이는
기능개발 문제는 스택/큐 문제이다. 이 문제를 푸는데 많은 시간을 투자했지만 결국 풀지 못했다..자료구조에 대한 이해가 부족하다는 걸 알게되었다. 자료구조: 데이터를 효율적으로 다를 수 있는 방법의 모음!!대표적으로 : 배열 스택 큐 연결리스트 해시테이블 그래프 트리
프로그래머스 코딩 문제를 풀면서 자료구조에 대한 이해없이 코드를 짜왔다.그렇게 풀어왔던 내 모습이 드디어.. 약점으로 돌아왔다. DFS, BFS, 완전탐색, 해시태이블 등 CS지식이 전혀 없던터라 위 자료구조가 왜 필요한지도 잘 몰랐다. 지금은 자료구조는 그저 로직을
위 문제는 내용을 이해해야 풀 수 있는 문제였다. 처음에는 문제를 이해하지 못해 시간을 꽤 보냈다. 문제에서는 String이 주어지고 위 스트링의 각 index를 하나씩 순회하며 만약 해당 index까지의 누적된 string이 사전 ARR에 없다면 해당 누적 strin
해당 문제는 처음에 봤을 때 "어? 꽤 쉬운데 왜 정답률이 높지않지?" 라는 생각을 했었다.🥲코드를 완성하고 제출을 해보니 결과는!! 💯? 0점!!! ㅋㅋ왜 그랬나 봤더니 필자의 처음 로직이 완전히 잘못 됐음을 알게되었고 이 문제는 DP(동적다이나믹계획법)으로 해결
위 문제는 처음 봤을 때 n의 수를 2 또는 1로 만들 수 있는 경우의 수를 구하라는거구나!라고 생각하고 문제에 접근하였다. 즉 만약 n=5 라면 1과 2로 만들수 있는 경우의 수는 다음과 같다.1 1 1 1 12 1 1 11 2 1 11 1 2 11 1 1 22 2
ㅠㅠ.. 많이 공부하고 있다고 생각했지만 아직 멀었다..고 또 느낀다. 사실 어제 블로그 포스팅을 2문제는 하겠다며 호기롭게 공부를 시작했지만 현실은 ..3시간이 걸려도 1문제도 풀지 못했다.😂 휴.. 그래도 해야지 뭐 어쩌겠나, 다음 날이 되어서 다시 푸는 것을 시
ㅜㅜㅜㅜㅜㅜ재귀함수, dfs, bfs 너무어렵다.. 사실 생각으로는 어떻게 풀어야할지 알겠지만 이를 구현하는 능력이 부족하다. 각 알고리즘은 이해했지만 이를 구현하는데 꽤 오랜 시간을 투자하고있다. 저번 소수찾기 문제부터 level2 에서 정답률이 조금 낮아지기 시작하
오랜만에 코딩테스트 문제를 업로딩한다. 짝발란스 웹페이지를 만드는동안 코딩테스트를 아예 하지 않았던 것은 아니다. 시간이 날 때마다 풀어왔었다!!! 하지만 늘 풀면서 블로그로 정리를 하지 못했었고 사실 dfs , bfs를 제외하고 이전에 풀었던 문제들만 풀어보니 블로그
오늘도 DFS에 대해 정리를 해보겠다!!! 저번에 풀었던 문제를 다시 풀어보았지만 결국 해내지못했다.. 하지만 안죽으니까 일어나야지일어나서 다른 문제를 시도해보았다. 위 문제는 딱보아도 전부 경우를 계산해야하는 DFS로 풀면 좋을 문제이다. DFS/BFS로 풀 수 있
오랜만에 블로그글을 작성하는 거 같다.. 변명아닌 변명을 하자면 SSAFY에 지원하며 에세이작성, 시험 준비를 하느라... 결과는 다음주에 나오지만 흠.. 그 결과에 상관하지 않고 계속해서 준비를 해나가야겠다. 근데 참.. 그게 어렵다. 결과를 기다리면서 또 다시 준비
코딩테스트의 중요성을 절실히 깨달았다. 코딩테스트를 통과하지 못하면 나의 개발 수준을 궁금해하지 않는다.. 기회를 얻으려면 코딩테스트를 통과하는 게 우선이다. 12개의 알고리즘을 다음과 같이 정리해 나갈 것이다. 위 알고리즘을 1바퀴 돌리기 위해서는 대략 1달이
오늘은 이분탐색/투포인터에 대해 학습을 해보겠다..!이분탐색을 타이틀로 하는 프로그래머스 문제 유형이 있었지만 위와 같은 알고리즘을 사용해서 풀지 않았던 거 같다.그렇다면 이분탐색과 투포인터는 무엇이며 서로 다른 것일까?지금부터 알아보자!!이분탐색/투포인터 블로그다음
프로그래머스 문제를 풀며 지금은 2~3 level수준의 문제를 하루에 최소 1문제씩은 풀어나가고 있다. 사실 2~3문제를 목표로 하고있는데 오늘의 문제는 하루를 모두 쏟아서 풀었다. 처음 아래의 문제를 접할 땐 투포인터로 접근을 계속해서 시도를 했다.. 결과는 정확도
알고리즘 학습 리스트 중 완전탐색이 있다. 아직 완전탐색 차례가 아니지만 완전탐색에 대한 포스팅을 먼저 올리는 이유는 ..! 전부터 DFS/BFS, 재귀함수 등에 대한 관심이 있었고 잘 하고싶었는데 이번 문제를 풀며 그래도 재귀함수에 대한 이해가 전보다 꽤 늘었구나 하
알고리즘에 개념 학습도 좋지만 어제, 오늘은 kakao의 구현문제를 학습했다. kakao의 문제를 풀다보니 level2와 level3의 차이를 알 거 같다. level2는 시간복잡도를 크게 신경쓰지 않고 구현이 가능하면 통과하도록 문제를 내주신 거 같다. 그런데 lev
이분탐색을 제대로 공부하지 않았던 걸까, 최근 프로그래머스 문제를 풀며 이분탐색을 떠올리지도 이분탐색으로 풀 수 있는 풀이법 조차 생각나지 않았다. 그래서 다시 이분탐색을 정리해보고자 한다. 필자가 부딪혔던 문제는 프로그래머스 level3 - 징검다리 건너기 이다문제는
오늘은 3 문제를 업로드할 예정이다. 하루에 3문제를 푼 것은 아니고 오늘까지 사실 4문제를 풀었지만 1문제는 아직 제대로 이해하지못해 업로드가 불가능하다고 판단했다.어제 오늘 2일 동안 골머리를 앓았던 문제가 있다.프로그래머스 - level2: 줄서는 방법이 문제는
PCCP 도전 ❓ 6월 18일 ( 실패 😢 ) PCCP라는 민간 자격증에 도전했다. PCCP는 프로그래머스에서 주관하는 코딩 자격 시험이다. 필자는 Lv2를 목표로 시험에 응시했지만.. 1문제밖에 풀지못했고 점수는 300점에 그쳤다.. 총 600점을 받아야 lv2이
오늘은 이분탐색 알고리즘을 사용하여 level3문제를 생각보다? 빠르게 풀었다.1시간 조금 덜 걸렸던 거 같다. 흠 ,, 제대로 이해하고 풀었는지 점검도하고 필자의 풀이하는 과정도 공유하고 싶어서 이렇게 글을 작성한다 ! 오늘은 총 2문제를 업로드할 예정이다. 복습 개
시소 짝꿍 ❓ 위 문제는 하루동안 고민했지만 풀지못했다. 질문하기 카테고리에 들어가서 다른 분들의 힌트를 보고 풀게되어 조금은 찜찜하지만 그래도 힌트를 최소한으로 얻고 나머지는 최대한 스스로 생각해보았다. 문제는 다음과 같다. 그냥 시소가 있고 시소가 평행이 될
저번주에 KT 에이블스쿨에서 시행한 코딩테스트를 봤다. 총 3문제였다.1번은 반복문을 통해 구현하면 됐고 2번은 잘모르겠었다.3번을 마주하니 필자가 요즘 가장 열심히 해온 DFS,BFS의 문제로 보였다. 자세히 기억은 안날뿐더러 문제를 유출하면 안되기 때문에 자세한 문
그리디 알고리즘 🧩 오랜만에 알고리즘 포스팅을 업로드한다. 지금까지 배웠던 알고리즘들로 프로그래머스의 문제 level2~level3의 문제를 해결해왔다. 그런데 이제 슬슬 알고리즘에서 부족함을 많이 느꼈다! 🥲 현재 프로그래머스 데브코스에서는 여유가 조금 있기
for문안의 식별자를 i, j ,k이렇게 다양하게 사용하다보니 가독성이 좋지 않고for문 내부에 if문이 존재해 좀 더 복잡해보인다.그래서 forEach문으로 최대한 간결하게 사용하였고 obj를 통해 key-value로 바로 해당 값으로 접근이 가능하도록 하였다.for
첫 번째 코드 결과: 시간초과 callings의 크기가 최대 1,000,000이다. 그럼 위 callings를 순회하며 players의 배열을 직접 수정하는 작업은 시간초과를 유발하는 것으로 보인다. 그럼 players의 배열을 수정하지 않고 결과를 도출하는 방
이중 while문을 사용해서 직관적으로 한 스텝마다를 반복해주면 되지 않을까 생각을 했다.이 문제에서 포인트는 주어진 방향으로 이동할 때 공원을 벗어나는지주어진 방향으로 이동 중 장애물을 만나는지위 두 가지를 체크해보는 것이다.몇개의 케이스를 제외하고 런타임오류가 발생
즉, 배열에서 그럼 최소x, 최소y가 출발지가 되고최대x, 최대y가 도착지가 된다.방법은 다양할 거 같다. 그냥 모든
덧칠하기 문제는 일반 구현문제이다.section의 배열을 따라 만약 칠하지 않은 부분이라면 칠해주고 count++를해주면 된다.결과: 통과
keymap의 길이는 자판의 개수라고 생각하면된다.각각 자판을 누를때마다 연속적으로 어떤 문자가 나오는지를 담고있다.최소로 누르고 싶은거니까 keymap에 있는 문자는 굳이 구별을 하지 않아도 된다고 생각한다.keymap0이든 keymap1이든 빨리 해당 문자가 나오는
문제를 보고 dfs, 재귀 등을 떠올렸다.왜냐하면 cards1, cards2 모두 어떤 카드덱(?)에서 먼저 뽑냐에 따라 결과가 달라질 것이라 생각했기 때문이다.그런데 문제가 이상하게 어려웠다. 분명 lv - 1 인데 왜 이렇게 어렵지..문제 제대로 읽기 ;;문제에 보