1차 시도 (시간 초과) sort를 문자열 길이 순으로 이중 반복문 사용해서 한개 씩 전부 비교함 문자열 슬라이싱이나 반복문 내부는 거의 비슷했으나 문자순으로 sort해서 바로 뒤만 비교하면 된다는 생각을 못 함. 2차 시도 (성공 - 다른 분 풀이 참고) sort
heapq 모듈을 사용한 풀이처음에는 그냥 sort를 써서 풀까 했는데 매번 sort하면 시간복잡도에서 차이가 클 것 같아 수정.heapq를 사용하는 이유heapq는 최솟값(또는 최댓값)을 계속 뽑아내야 할 때 사용하면 좋다.처음 정렬할 때는 시간 복잡도가 같지만새로운
어떻게 매번 자리수를 잘라서 비교하지..? 를 고민하고 고민하다가 결국 포기하고 다른 분들의 풀이를 봤다...보자마자 황당하고.. 멋지고... 코드가 진짜 경이롭네
permutations 이용해서 가능한 모든 경우 구하기2 ~ 경우의 수-1 까지 모든 수로 경우의 수의 나머지가 0인지 아닌지 확인해 소수 판별에라토스테네스의 체 방법을 이용이 방법이 가장 효율적인 것은 알고 있었으나 막상 적용이 어려워 이렇게 풀지 못했음.굳이 li
1단계라서 빨리 풀 줄 알았는데 생각을 잘못해서 오래걸린 문제.그냥 반복문에서 가장 상단에 놨으니까 여분 체육복 있는 사람이 도둑맞은 경우를 제일 먼저 제거해줬다고 바보 같이 생각함.12번 테스트 케이스 실패하는 분들 5, 1,2,3, 2,3,4 -> 4이걸로 생각해보
재귀로 풀려고 시도했는데 실패.. 거의 다 왔는데 조금만 더 고민해볼걸. 아래 풀이는 다른 분들 풀이 참고했음.반복문 돌면서 이번에 계산된 값이 이전 값의 서브트리가 되도록 하는 방법idx가 끝까지 갈 때 까지 재귀 호출하면서 확인\-> 프로그래머스 풀이 중 가장 좋아
BFS를 이용해 재귀를 사용하지 않은 문제이다. 오늘도 바로 풀기는 실패.. 다른 분 풀이를 읽고 풀었음DFS, BFS 중 어떤 방법을 이용할까?둘 다 연결된 그래프를 모두 탐색할 때 사용DFS 1\. 특정 조합을 뽑는 경우DFS는 그래프의 모든 정점을 확인하기 때
dfs, bfs 문제에 아직도 적응을 못했다...한 번에 도움 없이 풀기가 쉽지 않다.dfs로 풀겠다고 생각은 했는데 최단 거리를 나타내려면 어떻게 해야할지 고민하느라 코드 작성이 안됐음.일단 dfs로 그냥 푼 방법인데 프로그래머스 채점 상 통과는 됐다. 근데 사실 이
문제 : https://programmers.co.kr/learn/courses/30/lessons/42578갈 길이 멀다 ~ 2단계도 어려운 나..굳이 모든 조합을 실제로 구하려고 combination까지 쓰다가 포기..다른 분들 풀이를 보니까 그냥 계산으로
while 한 번에 1초 지나간다고 생각. answer : 답 내기 위한 총 시간 더하기curr_time : 현재 시간(while) 돌아간 횟수finish_time : 현재 작업 중인 일이 끝마치는 시간now : 현재 작업중인 일의 소요 시간대기 heap에 아무 것도
문제 : https://programmers.co.kr/learn/courses/30/lessons/42883사용한 방법1\. 최소한 첫번째 자리는 number 문자열에서 k번째에서 시작해야 함 -> 그래야 len-k 자리의 숫자 만들기 가능2\. 뒤이어 다음
문제 : https://programmers.co.kr/learn/courses/30/lessons/42888split() 함수 이용해서 record의 각 단어들 구분키가 id, 값을 닉네임으로 해서 딕셔너리에 저장 및 id 변경answer 배열에 출력값 저장
문제 : https://programmers.co.kr/learn/courses/30/lessons/43164일단 그냥 풀어본 방법.문제는 모든 티켓을 다 사용하지 못했는데 갈 곳이 끊겼을 때.이걸 고려하지 않고 그냥 코드를 짜서 실패.DFS로 풀어보려 했는데
문제 : https://www.acmicpc.net/problem/1260많은 시행착오 끝에 성공했지만, 상당히 비효율적인 내 코드는 다음과 같다.5% 쯤에서 런타임에러로 실패.dfs에서 시작 노드에서 연결된 간선이 없는 경우 예외 처리를 해주지 않아서 발생이
그냥 생각나는대로 입력받으면 일단 list에 넣고 정렬해서 풀었더니 시간초과.시간 초과 난 첫 시도는 다음과 같다.어차피 중간에 비는 값 없이 n개가 전부 나오니까 그냥 하나 입력받고 바로바로 처리해 주면 훨씬 시간이 단축된다. 나는 중간에 비는 값이 있을 수 있는 줄
문제 : https://www.acmicpc.net/problem/14501재귀로 풀려고 시도했는데 너무 복잡하게 생각해서 실패..그냥 Brute force 재귀로 풀거면 어차피 다 탐색하는 거니까 최대한 간단하게 생각해야 할 듯 하다.다른 분 풀이 참고해서
대각선을 어떻게 처리해주나?대각선의 경우 가로 세로 이동량이 같다는 게 포인트.따라서 행-행 == |열-열| 이 같다는 것을 활용이차원 배열 사용? 못 가는 곳을 따로 체크해주는 배열이 필요할까?1차원 배열로도 해결 가능list에서 index가 행, chessindex
문제 : https://www.acmicpc.net/problem/2667오랜만에 한 번에 통과다 실버지만 그래도 감격,,재귀를 써서 dfs 식으로 풀었다.1이 행렬 안에 존재하는 동안은 while문을 활용해 계속 찾는 방법을 썼다.
문제 : https://www.acmicpc.net/problem/1012앞에서 푼 단지번호붙이기 2667번과 거의 유사한 느낌이다.그런데도 꽤 오래걸렸다.오래 걸린 이유는 input 받는 부분에서 막혔다.1\. 일단 어이없게도 가로 세로 길이로 m, n을 준
전체 탐색과 bfs를 활용하겠다는 아이디어는 떠올랐으나 벽을 3개 설치하는 부분을 어떻게 구현해야 할지 감이 안와서 그냥 아이디어 찾아보고 풀었음.더 유용한 방법이 있을거라 생각했는데 그냥 이중 for문으로 모든 경우 수행해 보는 게 답인듯.1\. 벽 3개를 설치하는
문제 : https://www.acmicpc.net/problem/10799문제를 읽어도 스택을 써야하나 싶은 정도 밖에 방법이 안 떠올라서 바로 포기..풀이를 보니 생각보다 너무 간단해서 놀랐다.스택을 이용한 방법이다.
문제 : https://www.acmicpc.net/problem/15686 어떤 치킨집을 골라야 도시 치킨 거리가 최소가 될지 모르니까 전체 탐색으로 풀었다. itertools의 combination을 썼는데 다른 분들 풀이를 보니 이 메소드를 활용한 더 짧고 간략