99클럽 코테 스터디 2기 첫째날 나는 파이썬/비기너로 참여했다! 문제 코드 처음 문제를 받았을 때 코딩테스트 대비를 이제 시작한 나라서.. 설명이 긴 코딩 문제가 처음이라 당황했다. 일단 처음 느낀건, 문제를 이해해서 알고리즘을 짜는게 먼저겠구나! 했다 당연한
99클럽 코테 스터디 두번째 문제!오늘의 주제도 해시이고,<완주하지 못한 선수>문제입력과 출력코드알고리즘participant -> 마라톤 참가자completion -> 마라톤 완주자참가자 중에 완주자에 이름이 없는 사람이 완주하지 못한 선수이다.그러므로 count
99클럽 스터디 세번째 문제!오늘의 주제는 스택/큐<같은 숫자는 싫어>문제입력과 출력코드알고리즘먼저, arr의 배열을 자기 다음 위치의 원소와 비교한다.연속된 숫자를 제거해야하는 것이 목적.다음 위치의 원소와 수가 다르면-> 수가 연속되지 않았으므로-> 현재 위치
99클럽 스테디 네번째 문제 주제는 아마 스택인듯 하다! 문제 입력과 출력 코드 코드 출처 이번 문제는 갈피를 못잡겠어서.. 오래 고민하다가 이 블로그 코드가 정리가 잘 되어있고 간결하다고 생각해 코드를 보고 공부를 하는 방식으로 진행했다... 근데 더 찾아보
코드
Maximum Product of Two Elements in an Array문제입력과 출력코드알고리즘이번 문제는 굉장히 쉽다고 생각했다!함수와 알고리즘에 조금 익숙해져서 그런지, 처음에 max를 썼다가 두번째 큰 수를 추출해야한다는 점을 다시 생각하고 정렬을 사용했다
오늘의 주제는 정렬 ! ** 문제
오늘의 주제도 "정렬" [Count Pairs Whose Sum is Less than Target] 문제 입력과 출력 코드 > 알고리즘 #먼저, target보다 작은 합의 갯수를 세어줄 cnt 변수를 선언 #0번째 원소부터 자신을 제외한 다른 원소들과 합해보기
오늘의 주제는 '완전탐색'최소 직사각형문제입력과 출력코드알고리즘명함을 넣을 수 있는 가장 작은 지갑의 크기를 계산해야 한다.단순히 가장 큰수들의 최댓값과 가장 작은 수들의 최댓값을 곱하면 나온다고 생각했지만가로 세로가 매칭되어 있기 때문에 이 점을 고려해야한다.따라서
오늘의 주제도 완전탐색!모의고사문제입력과 출력코드알고리즘회고처음에는 반복되는 배열을 answers의 길이에 맞게 반복시켜주는list(chain.from_iterable(repeat(numbers, n)))이렇게 함수를 이용하려 했는데, 한번 작성하고 정리하던 중 그냥
오늘의 주제는 '이진트리'Range Sum of BST문제입력과 출력코드알고리즘재귀함수로 구현하지 않으면 계속 오류가 나고, 구현 중간에 문제가 생겨 재귀함수로 구현해주었다.bstSum 함수를 선언하여 입력값은 node로 설정해놓고,노드가 없을 때 조건을 선언해준다.그
오늘의 주제는 깊이/너비 우선 탐색(DFS/BFS)\[Find a Corresponding Node of a Binary Tree in a Clone of That Tree]문제입력과 출력코드알고리즘먼저 노드가 없을때 반환해주는 조건문을 달아준다.그리고 노드와 타겟이
오늘의 주제도 dfs/bfs\[Evaluate Boolean Binary Tree]문제입력과 출력코드알고리즘먼저, root의 값이 0이나 1일 때는 값을 반환해준다.값이 2일 때는 self 재귀함수를 호출하여 왼쪽과 오른쪽 노드의 or 연산을 해준다. 3일때는 and
오늘의 주제도 dfs/bfs\[Invert Binary Tree]문제입력과 출력코드알고리즘먼저, 꼭 지정해줘야하는 노드가 없을때 return 조건 먼저 지정해준다.노드가 있다면 왼쪽 노드와 오른쪽 노드를 바꿔주는 swap해주는 코드를 추가해준다.이때, 순환하면서 swa
오늘의 주제도 DFS/BFS\[Maximum Depth of Binary Tree]문제입력과 출력코드알고리즘먼저, 이 함수 maxDepth의 반환형은 int라는 것을 유의하고 가야한다.지금까지의 문제와 같이 노드가 없을 때의 조건을 정의해준다. 평소에는 return 했
오늘의 주제는 탐욕법(Greedy)\[체육복](https://school.programmers.co.kr/learn/courses/30/lessons/42862문제입력과 출력코딩알고리즘각각의 배열을 먼저 정렬해준다.reserve의 요소가 lost 배열에도 있다
오늘의 주제도 탐욕법(Greedy)\[Split a String in Balanced Strings]문제입력과 출력코딩알고리즘r과 l의 개수를 세기 위한 변수를 정의해주고, 문자열이 R일때 r_cnt+1문자열이 L일때 l_cnt+1이 수가 같아졌을 때 answer+1회
오늘의 주제는 동적계획법\[Counting Bits]문제입력과 출력코드알고리즘0부터 n까지의 숫자들을 각각 이진수로 변환해준다.이진수로 변환한 후 이를 리스트 형식으로 num에 받아준다.num배열에서 1의 개수를 세어 cnt에 받아주고arr배열에 이 cnt를 넣고 ar
오늘의 주제도 동적계획법\[Pascal's Triangle]문제입력과 출력코드파스칼 삼각형이란 이항계수를 삼각형 모양으로 나열한 것삼각형을 그리는 규칙은 다음과 같다.(1) 숫자가 들어갈 칸을 첫 번째 줄에는 1개, 두 번째 줄에는 2개, 세 번째 줄에는 3개 이런 식
오늘의 주제도 동적계획법 [Fibonacci Number] 문제 입력과 출력 코드 피보나치 수열 > F(n) = F(n-1) + F(n-2) 알고리즘 > 빈 배열을 n+1의 크기로 선언해준다. 먼저 첫번째 항을 0으로, 두번째 항을 1로 지정해준다. 그 뒤부
오늘의 주제도 동적계획법\[Divisor Game]문제입력과 출력코드n을 1씩 빼면서(한칸씩 이동하면서)n이 1이 될때까지 뺴준다. 뺄때마다 cnt를 1씩 더해주고이 수가 짝수이면 Bob이 이기는 것이므로 False를 반환하고홀수이면 Alice가 이기는 것이므로 Tru
[Search Insert Position] 문제 입력과 출력 코드 알고리즘 > 회고
오늘의 주제는 이분탐색 [Count Negative Numbers in a Sorted Matrix] 문제 입력과 출력 코드 알고리즘 > 이중 반복문으로 2차원배열을 돌면서 값이 0보다 작을 때, cnt를 1씩 더해주어 마지막에는 cnt를 반환해준다. 회고
오늘의 주제는 그래프\[Find Center of Star Graph]문제입력과 출력코드주어진 리스트에는 중앙노드와 연결된 노드의 값이 담겨있다.2차원 배열이고, 각 배열에는 모두 중앙노드가 담겨있기 때문에각 배열에 같은 값이 있으면 반환해주도록 구현하였다.어떻게 풀었
오늘의 주제도 '그래프'\[Minimum Number of Moves to Seat Everyone]문제입력과 출력코드두 리스트 값중 차이가 적게나는 아이들로 빼주기 위해두 배열을 정렬해준다.그리고 두 배열의 첫번째 요소부터 고려하며 둘 중 더 큰수에서 작은 수를 빼서
오늘의 주제는 배열!\[Shuffle the Array]문제입력과 출력코드nums는 x1,x2,x3,y1,y2,y3 순서로 되어 있으므로nums 배열의 중간까지를 x라는 배열에 넣어주고 중간 이후부터 끝까지 y라는 배열에 넣어준다.x와 y 배열에서 하나씩 번갈아가면서
오늘의 주제도 배열!\[Number of Good Pairs]문제입력과 출력코드같은수로 짝을 지을 수 있는 케이스를 찾아야 하므로i는 0부터 nums의 길이만큼, j는 i의 다음 수부터 nums의 길이만큼 반복문을 수행하며 i번째 요소와 j번째 요소가 같을 때, cnt
\[Find The Original Array of Prefix Xor]문제입력과 출력코드먼저 arr 요소를 바로바로 대입해주기 위해0으로 pref 길이만큼 arr 배열을 초기화해준다.첫번째 요소는 연산할 것이 없으니까 바로 대입해주고,누적하여 연산을 할 수 있게 v
오늘의 주제도 배열\[Find Words Containing Character]문제입력과 출력코드x 문자열이 words 배열의 요소에 있는 문자열들과 같은 것이 있다면 그 인덱스를 arr라는 빈 배열에 넣어준다.사실.. 이거 제출하는 와중에.. 어? x in 으로 되나
오늘의 주제는 문자열! [Shuffle String] 문제 입력과 출력 코드 알고리즘 > arr 라는 빈 배열을 s 배열의 길이와 똑같이 초기화를 해주고, indices의 요소를 순서대로 받는데, 이때 이 요소가 arr 의 인덱스가 된다. arr의 indice
오늘의 주제는 문자열....오랜만에 오랫동안 헤맨 문제였다..그래서 아마 TIL이 굉장히 길어질 것으로 예상된다..!\[Decode the Message]문제입력과 출력코드내가 이해한 바로는, 주어진 key의 문자 하나하나를 알파벳 순서에 맞게 매칭하고 이를 통해 me
오늘의 주제는 정렬!\[Neither Minimum nor Maximum]문제입력과 출력코드nums 배열에서 가장 작거나 가장 크지도 않은 수를 반환해야 한다.그러므로 배열의 요소 개수가 2개이하일때는 -1을 리턴해준다2개보다 많을 때는 nums 배열을 정렬한다.이때
오늘의 문제는 스택/큐! 인지 모르고 풀었다.. 일단 쓰고 다시 풀어야지 ㅋㅋㅋㅋ 이걸 일찍 확인해야 하는데 벨로그 쓸 때 생각나서 확인함.. ㅜㅜ [Final Prices With a Special Discount in a Shop]
오늘의 주제도 스택/큐오늘도 중간에 깨닫고 다시 스택으로 풀어보았다 ㅎㅎ\[Baseball Game]문제입력과 출력코드stack이라는 빈 배열과 요소를 더하고 곱할 때 쓸 temp를 선언해준다.그리고 조건을 달아서 C일 때는 pop으로 요소를 제거해주고,D일 때는 마지
오늘의 주제는 힙(Heap)\[Delete Greatest Value in Each Row]문제입력과 출력코드먼저 while문 안에 배열이 비었을 때 구문을 빠져나올 수 있도록 조건을 지정해준다.그리고 grid 배열의 행 별로 정렬을 해주고 current 값을 0으로
오늘의 주제도 힙(Heap)\[The K Weakest Rows in a Matrix]문제입력과 출력코드\[코드 출처]파이썬 힙정렬에 대해 잘 몰라서 힙정렬 함수로 푼 코드가 있길래 보고 공부했다.! 그래서 출처도 함께 첨부한다!!이 문제는 1이 가장 적은 수대로 인덱
오늘의 주제는 탐욕법(Greedy)\[Maximum Odd Binary Number]문제입력과 출력코드주어진 문자열을 재배치하여 가장 큰 홀수를 만들어야 한다.이진수에서 홀수를 만드려면 마지막 자리에는 무조건 1이 와야 한다.따라서, 1의 개수에따라 한개만 마지막 자리