일수 계산으로 했으면 훨씬 쉽지 않았을까....ㅋㅋㅋㅋㅋ큐ㅠㅠㅠ그래서 다시 풀어봤다!!
컨테이너안의 데이터를 편리하고 빠르게 개수를 세도록 지원하는 계수기 도구이걸 활용해서 위의 문제를 풀면이렇게도 가능하다고 한다!! 신기👍👍
반복문을 돌리면서 remove로 인수를 제거하려면 얕은복사를 활용하면 된다!!처음에는 이런 방식으로 풀었었는데 몇가지 테스트 케이스에서 시간 초과가 발생했다..!!그래서 알아보니 Counter 함수를 활용해보면 좋을 것 같아서 Counter를 활용해보았다!
1. 프로그래머스 - 문자열 나누기
1. 프로그래머스 - 요격 시스템 프로그래머스 -
1. 프로그래머스 - 최댓값과 최솟값 2. 프로그래머스 - JadenCase 문자열 만들기 3. 프로그래머스 - 최솟값 만들기
1부터 하나씩 더해가면서 완전탐색하는 방법으로 풀었다!!
1. 프로그래머스 - 다음 큰 숫자 2. 프로그래머스 - 피보나치 수 3. 프로그래머스 - 짝지어 제거하기
1. 백준 - 11723 집합 2. 백준 - 11501 주식
1. 백준 - 1, 2, 3 더하기 4 2. 백준 - ZOAC4 3. 프로그래머스 - 프로세스 4. 프로그래머스 - 주식가격
1. 백준 - 삼각형과 세 변 2. 백준 - 가희와 키워드 3. 백준 - 카드 2 4. 프로그래머스 - 카펫
1. 백준 - 숨바꼭질 3 2. 프로그래머스 - 영어 끝말잇기
1. 백준 - 벌집 2. 백준 - 영단어 암기는 어려워 3. 백준 - 지름길 4. 백준 - 올림픽 5. 백준 - 최소 힙
1. 프로그래머스 - 기능개발 2. 프로그래머스 - 구명보트
먼저 받은 단어를 소문자로 바꾸면서 리스트로 하나씩 쪼개고(word) 그 값에서 중복을 없앤 값(word_set)도 만들어놨다!!그리고 알파벳의 최대 개수(max_val), print할 결과값(ans)을 변수로 정해주고 반복문을 통해 알파벳의 개수를 하나씩 세면서 ma
visited라는 지도와 같은 크기의 2차원배열을 만들고 모두 -1로 채워준다.2차원 배열 안의 값이 2일 때만 Q라는 덱에 해당 위치를 쌓고 visited값을 0으로 변경한다.Q에 값이 존재하지 않을 때 까지 Q의 제일 앞에 있는 값을 뽑아 상하좌우로 이동시킨다.이동
이 문제 또한 뒤에서부터 풀어가는 방식을 생각해 보았다!!n을 2로 나누었을 때 나누어 떨어지면 순간이동이 가능하므로 나눠주기만 하고!나누어 떨어지지 않는 경우에는 1칸 점프해야 하는 것이기 때문에 ans에 1을 더해주고, n을 2로 나눈 몫으로 바꿔주기!!마지막에 n
2의 제곱과 관련이 있는 문제라는 것을 파악하고, 규칙을 찾아보았다!규칙 : 대회 번호를 2로 나누었을 때의 몫과 나머지를 더해주면 이겼을 때 그 다음 얻는 번호를 알 수 있다!!!!그러므로 while 반복문을 활용해 a와 b가 같아질 때 까지 a와 b 각각 2로 나눈
게임이 끝나는 경우는한 사람의 말이 가로, 세로, 대각선 방향으로 3칸을 잇는 데 성공게임판이 가득 찼을 때이 2가지 경우이다.그래서 먼저 lst에 주어진 게임판의 가로,세로, 대각선의 값을 모두 넣어놓았다.그 후 게임판이 꽉 찬 경우와, 그렇지 않은 경우로 나누어1\
원소들에게 우선순위를 매겨서 넣을 때의 순서와 상관없이 뺄 때에는 우선순위가 높은 원소부터 빼내는 것파이썬의 리스트를 마치 힙처럼 다룰 수 있게 도와준다.힙이 비어 있을 때 heappop 메소드를 호출하면 IndexError가 발생원소가 들어있는 리스트를 힙으로 만들어
📃 문제 💟 코드 ✨ 코드 풀이 먼저 조합식을 사용하기 위해서 옷 타입의 개수와, 옷 타입 별로 옷이 몇개 씩 있는지를 구해야 했다. 때문에 으로 옷 타입 종류를 구했고, 으로 옷 타입 별로 옷이 몇개 있는지 딕셔너리로 정리했다. 그리고 옷 조합을 위해 cnt = 1로 지정한 후, 옷 타입 수 만큼 반복문을 돌려 cnt에 (타입 별 옷 개수 +...
시간 제한와 메모리를 고려하지 않고 풀었을 때에는 빠르게 풀었지만, 시간 제한과 메모리를 고려하며 시간이 조금 걸렸다.메모리를 고려하지 않아, 메모리 초과가 생겼다. append를 활용해서 그런것 같았다..ㅠㅠ이번엔 시간 초과로 실패했다.. pop과 append를 같이
첫번째 풀이에서 시간초과가 발생해서 고민끝에 counter를 활용해 문제를 해결했다.해당 코드에서는 tangerine.count() 함수가 리스트 전체를 매번 순회하면서 개수를 세기 때문에, 리스트의 크기가 커질수록 시간이 오래걸린다는 문제가 있었다.counter 함수
val은 n1을 n2로 나눈 값의 나머지val값이 0이 나올 때까지 n2를 val로 나눈다!이 계산을 하는 이유는 n1와 n2의 최대공약수를 구하기 위해서이다!return값으로 최대공약수 값을 구해서 solution함수에서 answer \* i를 한 후 answer와
BFS방법으로 문제를 해결했다..!! 오랜만의 BFS라...조금 오래 걸렸다ㅠㅠ간선으로 연결되어있는 각각의 정점을 각 정점의 리스트 안에 넣어주는 작업을 먼저 해주었다.그리고 이미 사용한 정점도 체크해주어야 하기 때문에 visited를 만들어 체크할 수 있게 해주었고,