양말 짝을 찾는 문제다dict에 양말 key를 넣고 개수를 누적한다dict를 for문으로 돌면서 값을 2로 나눈 몫을 누적하고 응답한다
주어진 배열의 원소가 0이면 그 자리로 jump할 수 있고 1이면 그 자리로 jump하지 못한다. 이동은 한번에 1칸, 2칸만 가능하다. 끝까지 도달하기 위한 최소 jump 수를 구해야 한다.2칸을 이동한다고 했을 때 배열의 끝을 초과하지 않으면서 이동하려는 자리의 값
문제 이름 그대로 valley를 세서 응답하면 된다문제에서 정의한 mountain, valley는 다음과 같다mountain : sea level(해발고도)에서부터 위로 갔다가 해발고도로 내려오는 것valley : sea level에서부터 아래로 내려갔다가 해발고도로
s라는 문자열이 주어지고 s는 무한히 반복되지만 n만큼만 잘랐을 때 그 안에 a라는 문자가 몇 개나 들어있는지 판단해야 한다단순하게 보면 s를 n이라는 길이가 될 때까지 반복하고 그 안에서 a 문자를 찾으면 된다. 그러나 너무 느릴 것 같다.n을 s의 길이로 나는 몫
6X6 2차원 배열을 돌면서 모래시계(I) 모양의 원소들을 합친 것들 중 가장 큰 수를 응답하면 된다실수했던 부분은 mx를 0으로 했던 것이다. 원소의 최소값이 -9이므로 모래시계의 최소값은 -9x7 = -63 이므로 mx 역시 -63이 되어야 한다.최대값에 -63을
주어진 배열의 원소들을 d만큼 왼쪽으로 밀어서 회전시키는 문제다방법 1. 각 원소를 d만큼 왼쪽으로 이동. 하지만 d가 10만 이하라 최악의 경우 10만 번 반복하니까 안좋다.방법 2. 파이썬의 list slice를 사용해서 d기준으로 index d뒤에 있는 원소를 먼
list의 원소를 최소한 몇번 swap해야 정렬되는지 판단하는 문제다처음 원소부터 제자리를 찾아 swap해야하는데 swap 당한(?) 원소가 제자리를 못찾으면 그 원소를 다시 제자리를 찾도록 swap해주면 된다.처음엔 문제를 너무 어렵게 생각해서 swap을 했는지 안했
리스트 원소가 오름차순 정렬되도록 해야 하는데 조건이 있다.1\. 각 원소는 뒤에 원소랑 자리 교환을 할 수 있다.2\. 각 원소는 자리 교환을 2번만 할 수 있다자리 교환 최소 횟수를 출력한다. 만약 원소가 자리 교환을 2번 초과한다면 Too chaotic을 출력한다
note에 있는 단어들을 magazine에 있는 단어들이 포함할 수 있으면 Yes, 아니면 No 출력note_dict, magazine_dict에 각 단어를 key로 하고 개수를 value에 누적한다note_dict에 있는 단어가 magazine_dict에는 있어야 하
anargam : 문자열을 재정렬해서 다른 뜻을 가지는 글자로 바꾸는 것아이디어 : 입력된 문자열의 길이를 length라고 한다. 문자열의 길이를 1~length까지 잘라 나올 수 있는 경우를 모두 구한다. 각 문자열을 정렬해서 dict의 key로 만들고 개수를 누적한
정렬될 때까지 bubble sort를 하면서 몇 번이나 원소의 순서를 바꿨는지 출력
prices에 있는 원소들을 오름차순 정렬하고 k에서 하나씩 빼주면서 개수를 센다. 만약 k가 0이하거나 price가 k 초과라면 종료한다.
Player라는 클래스에 name, score이 초기화되도록 \_\_init\_\_ 메서드를 채워준다. comparator에서는 입력된 a, b 인스턴스의 속성인 name, score를 비교해서 정렬해준다. score는 내림차순, name은 오름차순이다.
주어진 문자열 a, b가 anagram이 되기 위해 a, b에서 제거해야 할 문자의 총 개수 구하는 문제다Counter 클래스를 사용해 각 문자의 개수를 구한다a, b 모두에 존재하는 문자의 개수를 빼주고 남은 개수의 총합을 구하면 된다
문자열은 A, B로만 구성되어 있다. 동일 문자가 인접하지 않도록 하려면 몇 개의 문자를 제거해야 하는지 구하는 문제다.index가 가리키는 문자를 current, index+1이 가리키는 문자를after로 지정하고 current와 after를 비교한다. 같은 값이라면
유효한 문자열 : 문자열에 존재하는 문자의 개수가 모두 동일유효한 문자열을 만들기 위해 제거해야하는 문자의 개수가 1개 이하인 경우 return YES, 아니면 NOCounter()로 문자열의 문자 빈도수를 구한다빈도수를 set()으로 묶어 기준으로 삼는다기준값을 돌면
주어진 문자열 s이 대해 만들 수 있는 팰린드롬(회문)의 수를 구하는 문제다s의 길이가 100만까지이므로 모든 팰린드롬을 만들어서 세는 건 timeout날 것 같다문자 하나하나를 돌면서 각 index에 대해 even_before, even_after, odd_befor