N장의 카드가 있다. 각각의 카드는 차례로 1에서 N까지의 번호가 붙어 있으며, 1번 카드가 가장 위, N번 카드가 가장 아래인 상태로 넣여있다.먼저 가장 위에 있는 카드르 바닥에 버린다. 그 다음 가장 위에 있는 카드를 가장 아래에 있는 카드 밑으로 옮긴다.예를들어
버블(bubble) 정렬 : 데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식선택(selection) 정렬 : 대상에서 가장 크거나 작은 데이터를 찾아가 선택을 반복하면서 정렬하는 방식삽입(insertion) 정렬 : 대상을 선택해 정렬된 영역에
선택 정렬(selection sort)는 대상 데이터에서 최대나 최소 데이터를 데이터가 나열된 순으로 찾아 가며 선택하는 방법이다.선택 정렬은 구현 방법이 복잡하고, 시간 복잡도도 O(n2)으로 효율적이지 않아 코딩테스트에서는 많이 사용하지 않는다. 선택정렬원리만 간단
병합 정렬.한번에 이해가 되지 않아서 직접 팬으로 케이스 하나하나 따라가 보면서 이해했다.return result를 하는 부분에 재귀함수로 호출된 함수가 종료된다는 점을 놓침.
기수 정렬(radix sort) 은 값을 비교하지 않는 특이한 정렬이다. 기수 정렬은 값을 놓고 자릿수를 정한 다음 당당 자릿수만 비교한다.기수 정으의 시간 복잡도는 O(kn)으로, 여기서 k는 데이터 자릿수를 말한다.기수정렬 핵심기수 정렬은 10개의 큐를 이용한다.
일주일만에 다시 코딩 테스트 시작!두 정수 N과 F가 주어진다. 지민이는 정수 N의 가장 뒤 두 자리를 적절히 바꿔서 N을 F로 나누어 떨어지게 만들려고 한다.만약 가능한 것이 여러 가지이면, 뒤 두 자리를 가능하면 작게 만들려고 한다.예를 들어, N=275이고, F=
이중 반복문 과 조건문으로 테스트케이스는 통과했지만, 풀면서 당연히 다시 풀어야 할것 같은 느낌,,결과적으로 다시 풀었고, 코테에서 꽤나 자주 사용하게 될것 같은 느낌의 개념을 공부 했다.enumerate 바로 딕셔너리 초기화 방법dictionary : key & v
딕셔너리 & set 차이가 있다는 것을 놓쳤다.처음에는 set으로 딕셔너리, 리스트를 만들어서 카운트 함수를 사용하고 갯수를 세고 blabla\~\~~... 너무 돌아갔다..(Timeout)가볍게 처음부터 딕셔너리 선언 후 key & value 로 갯수를 늘리고 최빈값
너무 복잡하게 생각했는데, 간단하게 조건으로 풀면 되는 문제였다..
zip() 함수를 가지고 딕셔너리 두개의 벨류를 키와 벨류로 구분해서 한개의 딕셔너리로 만드는 함수가 있다는 것을 공부 했다.처음에는 함수 없이 직접 합쳤지만 함수가 간단하게 만들어줘서 편리하다.그리고 get이라는 함수가 또 유용하게 쓰일것같다.추억 점수info 딕셔너
나..너무 돌아갔다, 타임아웃도 안나고 에러도 안나고 성공은 했는데,,,다른 사람들 풀이보고 살짝 현타가 왔다.🥱카드 뭉치인덱싱이 중요한 포인트 였던거 같다. 문자열 거꾸로 출력하는 개념을 공부했다.
뭔가 알파벳 전부를 담아놓고 처리해야할것같다는 느낌만 받았고 반복문 으로 풀면 될것같다는 느낌으로 접근🫡테스트 케이스만 통과하고 이후에 한개도 성공하지 못하고 런타임에러,,,ㅎㅎ둘만의 암호기본적인 개념은 비슷하게 접근했지만 다른부분들이 있다.알파벳을 먼저 문자열로 선
골치 아팠다. split()함수 뒤에 인덱싱 사용이 가능한지 알았고, 날짜 비교 및 계산에 datetime이라는 라이브러리를 사용해보기도 했고(하지만 다르게 풀었다..ㅎㅎ) dictionary 에 enumerate()함수를 또 사용해보기도 했다.
예시로 1, 2, 1, 1, 1, 2, 2, 1 이 주어졌을 때,1을 -1로, 2을 1로 치환합니다. => -1, 1, -1, -1, -1, 1, 1, -1누적합을 구합니다. => 0, 0 + -1, 0 + -1 + 1, 0 + -1 + 1 + -1, ... => 0,
체육복dict 은 key & value로 맵핑 되어 있지만set은 해시테이블에 이 요소가 있는지 없는지를 확인 할 수 있음(k&v로 맵핑 되어있지 않음)왼쪽부터 오름차순으로 확인해 가기 떄문에, i-1 부터 조건을 줘야 한다.
가장 큰수 str로 형 변환 후, 사전 값으로 배열을 정렬.str로 변경한 숫자에 3을 곱한 값으로 재정렬.반환 해줄 때, int로 변환을 해준 후 다시 str로 변경.3을 곱하는 이유는 2번째 예시를 풀 때 이유를 알게 된다.계산할 때 사전값으로만 정렬을 한다면 9,
마법의 엘리베이터(https://school.programmers.co.kr/learn/courses/30/lessons/148653컨셉은 잡았지만,,, 최초에는 실패😣예를 들어 solution(2554)는 solution(255) + 4 와 solution
실패. 성공.
큰 수 만들기tmp 에 담겨있는 요소가 i번쨰 요소보다 작다면 k수가 0이 되기 전까지 제거해나가는 것이 keywhile문으로 tmp안의 요소를 모두 비교len(tmp) > 0요소가 있을 경우를 1번째 조건으로tmp-1 < numi번쨰 요소가 tmp 마지막 요소와
위아래, 양옆으로 조이스틱 방향키에 따라 누르는 계산을 따로 해서 더해야 한다는 컨셉만 잡았고, 실패,,,ㅎㅎㅎ알파벳 위치 구하는(위아래)것은 어렵지 않았는데,,도대체 양옆으로 이동하는것은🙃나는 연속되는 A를 기준으로 왼쪽에서 시작했을때, 오른쪽에서 시작했을때의 이동
Merge Sort와 비슷한 느낌으로 구현해주시면 됩니다. string의 시간을 적절히 숫자로 바꿔주는 작업이 필요합니다. 필수로 필요하진 않지만 예외처리를 줄이기 위해 booked/unbooked 끝에 dummy data를 추가하였습니다.출력 내용이 아래와 같은데 (
작은 사람부터 작은 옷부터 입히면 가장 효율적입니다. 즉, 정렬 후 tshirts을 하나씩 살펴보면서 people보다 크면 입히고, 아니면 넘기면 됩니다. 구현은 이전 문제와 같이 투포인터를 활용하면 됩니다.두개의 리스트를 가지고 문제를 풀어가야할때!while문을 가지
풀이법을 간단히 정리해 놓으신 분이 있어서 이해가 한결 편했다.위장여러 종류의 옷이 있고 각 종류별로 1개 이하를 입을 수 있다면 몇 가지의 옷이 가능하냐는 문제이다.약간 이상하긴 하지만, 위 예제에 따르면 yellow_hat만 입은 것도 옷을 입은 것으로 친다고 하는
프로그래머스 고득점 Kit에서 그리디를 먼저 털고있었다. LV 3. 문제를 처음으로 풀었는데, 생각보다 나쁘지 않았고~ set 함수 사용이 필요해 공부하고나서 풀었다. 기본적인 콘셉트는 맞았다..(위안🫣)섬 연결하기set 사용법
단속카메라진출지점에 대해서 오름차순으로 정렬해야, 진출지점에 카메라가 있다고 가정했을 때, 그 이후의 경로들의 진입지점이 진출지점보다 앞서면, 반드시 그 카메라에 단속된다고 장담할 수 있다.
문제에서의 내용이 리스트가 두개 이상이 Input으로 주어지거나, 키 & 벨류로 풀어야 할 것같다 하면 딕셔너리를 사용해야하고, 해쉬를 사용하야 한다는 느낌은 이제 받을 수 있다.베스트 앨범i 로 2차 리스트를 만들어 요소를 세개 넣고, 세개의 요소를 기준으로 정렬을
heap 한번 풀어보자.\[Python3] 우선순위 큐 & Heap\[Python3] heapq 사용법heap은 heappop()은 가장 왼쪽 0의 위치에 요소를 꺼내고, heappush()는 원하는 요소를 넣고 다시 트리에 맞게 정렬을 해준다(진짜 기특하네🙃)조건이
스택도 풀어봐야지기능개발같다..ㅎㅎ 훨씬 깔끔하고 빠르다.리스트의 앞뒤로 무엇인가 꺼내와서 비교를 해야할 떄는 소스에서 front에 0을 넣어서 리스트 길이와 비교하는 것이 좋겠다.
너무 간단히 생각했다..ㅎㅎ올바른 괄호
진짜 지옥이다,,, 나는 왜케 이게 이해가 안될까....ㅠㅠ계속 서칭 하다가 도움이 많이된 글이 있어 첨부합니다.ㅠㅠ평범한 배낭이 문제는 아주 평범한 배낭에 관한 문제이다.한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한
문제 설명오색사탕은 길이 1 cm마다 빨강(R), 노랑(Y), 초록(G), 파랑(B), 보라(P)의 다섯 가지 색깔 중 하나로 구성되어 있습니다. 사람들은 오색사탕을 먹으면 행운이 온다고 믿으며, 길이에 상관없이 사탕의 “양쪽 끝의 동일한 부분”이 많을수록 더 많은 행
세균이 증식할 수 있는 rows행 columns열의 칸으로 구성된 격자가 있습니다. 각 칸은 최대 max_virus마리의 세균이 있을 수 있으며, 초기에는 이 격자에 아무런 세균이 없습니다. 당신은 일련의 쿼리 목록을 전달받았습니다. 하나의 쿼리는 r과 c 두 정수로
선후수 수강 (레벨 3)윤서는 자신이 수강하고자 하는 과목을 신청하기 위해서 수강편람을 읽었고, 어느 과목을 수강하기 위해서는 그 이전에 이미 수강했어야 하는 과목들이 정해져 있음을 알았습니다. 예를 들어 과목 "A" 를 수강하기 위해서는 그에 앞서 과목 "B" 를 수
주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다.항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요.모든 공항은 알
아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다.12 = 5 + 5 + (5 / 5) + (5 / 5)12 = 55 / 5 + 5 / 512 = (55 + 5) / 55를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다.이처럼