한줄 평: 코테 준비 처음 해보는데 어렵다 금세 답을 봐버렸다 히히
한줄평: 풀었다.. 내가 풀었다.. 힌트없이...내가..완벽하지않을수있지만..
한줄 평: 감히 내가 코드의 퀄리티를 논하다니...잘하고있어
한줄평: 어렵다 어려워 모르겠다 모르겠어 어지럽다 어지러워
한줄평: 언제쯤 온전히 나의 코드로 작성할수있을까
한줄평: 분명 비슷한데 못풀었다 왜일까
한줄평: 으헝헝
한줄평: 나의..나의 풀이!!
한줄평: 코테 잘하고싶다
한줄평: 잘하고싶다
한줄평: 후우..
한줄평: 포기하믄 안돼
deque(), enumerate() 사용하는 것까지는 알았다 ㅎㅎ
한줄평: 며칠 안했다고 그새 까먹냐 참
한줄평: 답을 빠르게 캐치. 캐치걸
한줄평: heapq가 문제에 떡하니 써있는데 왜 그걸 사용할 생각을 못하니 참나 문제를 좀 읽자.. 그래도 접근법은 맞음 -_-V
한줄평: 흠냐흠냐
한줄평: 어렵지않았지만 어려웠따
한줄평: 처음 풀어본 그리디 알고리즘.. 감 잡았어..(?)
한줄평: 다시보기
풀이 앞자리에 큰 숫자가 오는 것이 전체 수를 크게 만들 수 있음 스택의 마지막 값이 push할 값보다 작다면 크거나 같은 값이 나올 때까지 값들에 대해서 pop을 하는 것 시간 복잡도는 $O(n)$ for num in number => 하나씩 순회 스택이 비어있지않다면 stack.append(num) k가 0보다 크다면 스택의 ...
한줄평: 이건 또 뭐냐
한줄평:.
한줄평: 🥲
문제를 읽고 어떤 유형인지 감이 잡혀야한다..
한줄평: i m so sad
워후
.
.
.
.
.
.
20057번 - 마법사 상어와 토네이도
내가 풀
ㅋㅋ
.
.
.
.
풀었던 문제 맞냐
.
.
.
.
.
.
.
.
.
문제 프로그래머스 - 멀쩡한 사각형 해결 과정 최대공약수 사용 시행착오 그림 그려가며 규칙을 찾을라했지만........... 실패 풀이
/
.
/
.
주석 참고정말 하나하나 구현했다.
/
/
.
.
/
.
🥲
.
.
.
.
.
.
.
.
.
.
.
4673번 - 셀프 넘버브루트 포스 알고리즘: 무차별 대입법! 모든 경우의 수를 다 해보는 것
ㅇ
.
.
.
스택을 이용하기
sort 사용하기
정렬로 풀었슴니다
팝팝팝
우하하
플로이드 워셜 알고리즘 이용
ㅊ
이분탐색 이용
브루트포스/완전탐색 이용
아 멋지다 이수진
.
.
흐
.
.
좌절하지 말자 🙂
조합 재귀는 이해가 잘 가는데 왜 다른건 이해가 잘 안될까? 🧐
이해하는데 이틀걸렸슴니다
재귀가 아니ㅏㄷ!
우왕 굳
dmdkrdmdkrdmrk
규칙 찾기
벽을 세운다. (모든 곳에 벽을 세워본다)2인 곳을 찾아서 bfs를 돈다. bfs를 돌면서 0인 곳은 2로 바꾼다.0의 개수를 센다.모든 경우의 수를 다 해본 후 가장 최대값을 찾는다.
굿
cnt, visited를 어디에 넣어야할지 헷갈렸다.
프로그래머스 - 점프와 순간 이동거꾸로 라는 힌트를 보고.... 바로 구현2로 나누어지면 나누고 안나눠지면 1을 뺀다1을 뺐을 때는 ans + 1
우선순위 큐를 이용한 다익스트라 알고리즘 이용
무방향 그래프
캐시 교체 알고리즘: LRU(Least Recently Used)
점화식
dp
프로그래머스 - 행렬의 곱셈행렬의 곱셈왜 어렵지?
너무 정직하게 풀었다. 사칙연산을 이용하기i//n,i%n 여기까지는 알았는데.. max라고?
테스트케이스 올패스 불가능 -> elif~ eles가 잘못됐음
DP를 이용하여 풀어야함
최대의 칸 수가 아니다.. -> dfs 파라미터 수정, alpha.pop() 해주기 -> 백트래킹시간초과 -> 리스트를 집합으로 바꾸면 pypy3 통과
여전히 어렵군?
좀만 더 고민해볼껄
너무 어렵다
생각을 하자 생각을
그냥 for문은 시간초과 -> 이분탐색
.
BFS가 무려 두개..!
처음부터 완벽하게 하려고 하지말자
while 문을 통해서 elements의 첫번째 원소부터 길이 n개씩 result에 add원소 + n이 배열의 길이가 넘어갈 때 (원소 4부터 길이 3이라면 4, 7,9)elements\[i:]+elements\[:i+n-len(elements)]처음에 elements
idx: 던전의 번호cnt: 총 던전의 개수가장 바깥의 for문: 총 던전의 개수에서 1씩 줄여가는 반복문중간 for문: 최대 던전의 개수가 i일 때 방문 순서의 조합들을 방문하는 반복문now: 현재 피로도check: 최대 던전의 수인지 확인해주는 플래그가장 안쪽의 f
convert: 재귀를 이용하여 진법 변환하는 함수num: 변환하고자 하는 숫자 base: 진법몫이 0이 아니라면 ( = 계속 나눠진다면) convert함수 돌기solution: 문제 해결하는 함수test: 0에서부터 목표하는 숫자까지 n진법으로 변환해서 문자열 리스트
아이디어: 우선순위 큐비교해서 넣었다가 빼고 하는 문제는 큐? 스택? 🙄현재 회의실의 종료 시간과 다음 열릴 회의의 시작 시간과의 관계현재 회의실의 종료 시간보다 다음 회의의 시작 시간이 빠르다면= 현재 회의실 종료 시간 > 다음 회의 시작 시간회의실을 추가로 개설현
문제 백준 2738번 - 치즈 해결 과정 시행착오 풀이
최장 공통 문자열: 한번에 이어져 있는 문자열만 가능최장 공통 부분수열: 문자 사이를 건너뛰어 공통되면서 가장 긴 부분 문자열 찾기ex) ABCDEF / GBCDFE최장 공통 문자열: BCD최장 공통 부분수열: BCDE, BCDFLCS: 2차원 배열, 두 문자열을 행과
ㅠㅠ
최장 공통 부분수열 길이를 구하고 찾기최장 공통 부분수열 찾기LCS 배열의 가장 마지막 값에서 시작하며 결과값을 저장할 result 배열을 준비LCSi - 1와 LCSi 중 현재 값과 같은 값을 찾습니다. 2-1. 만약 같은 값이 있다면 해당 값으로 이동합니다.2-2
어렵지 않았다 맞아?
DP를 이용한 풀이가장 바깥 for문: 1행부터 마지막 행까지 확인가장 안쪽 for문: 행의 원소의 갯수만큼 확인이전 행에 있던 같은 열의 요소는 제외하고 가장 큰 요소들을 더하면서 진행ex) 1행 0열 = 원래의 1행 0열 + (0행 0열을 제외한 0행의 값 중에서
가장 바깥 for문: 유저가 만든 스킬트리 하나씩 확인선행 스킬 순서 skill을 리스트로 만들기가장 안쪽 for문: 유저가 만든 스킬트리를 문자 하나씩 확인해당 문자가 선행 스킬 순서 안에 있다면선행 스킬 첫번째 요소를 빼서 같다면 넘어가고다르다면 breakbreak
현재 위치x,y를 정의, 방문한 경로를 담는 리스트 정의, 방향을 담은 딕셔너리를 정의for문현재 위치에서 움직였을 때 범위 안에 있는지 확인움직인 경로를 저장: a에서 b로 같을 때 (a,b),(b,a) 둘 다 저장현재 위치를 바꿔줌출발지점과 도착지점이 반대여도 같은
문제 백준 1756번 - 피자 굽기 해결 과정 시행착오 풀이
DP로 풀기dp: num\[i] 를 마지막 원소로 가질 때 가장 긴 증가하는 부분 수열의 길이ex) 이중포문 비교: 10 20 10 30 20 50i vs j20 vs 1010 vs 10, 2030 vs 10, 20, 10...dp\[i]와 dp\[j] + 1 중에
비슷한 문제: 백준 11053번 - 가장 긴 증가하는 부분 수열부분수열의 길이가 max(dp)니까 가장 긴 길이부터 -1씩 해당 하는 값들을 arr에 넣는다.arr.reverse() 거꾸로 정렬하는 것그러한 수열이 여러가지인 경우 아무거나 출력한다. 이게 무슨 뜻이지?
문제 백준 11660번 - 구간 합 구하기 5 해결 과정 누적합 구하기 시행착오 시간초과 -> DP로 풀기 풀이
백트래킹으로 푸는거 모르겠음.. 찾아보니 combination으로 풀었길래 다시 풀어본다.
tmp: 헤드, 넘버, 테일로 나누어서 넣을 빈 리스트헤드, 넘버, 테일 빈 문자열로 초기화파일 하나씩 for문 돌리기파일의 파일명을 처음부터 확인하다가 숫자라면head = file\[:i]number = file\[i:]넘버를 다시 넘버와 테일로 나누기 위해 for문
문제를 읽자마자 너무 어려워서 깜짝 놀라버림~
너무 어려운데요?
순서대로 천천히..
귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화= 중복되는 수가 많은 것부터 판매한다.Counter를 사용해서 귤 크기별로 몇 개 있는지 확인하기Counter({3: 2, 2: 2, 5: 2, 1: 1, 4: 1})키와 값을 튜플로 갖는 리스트를 값을 기준으로
생각보다는 쉽다
문제 백준 3020번 - 개똥벌레 누적합 해결 과정 입력 받기 석순과 종유석을 각각 입력 받는다. 짝수는 석순이고, 홀수는 종유석 인덱스를 길이로, 인덱스 길이를 가진 장애물의 개수를 세어준다. down = [0, 1, 1, 4, 1, 0] ex) 석순 중에서 길이가
오랜만에 풀었더니 다시 제로가 된 듯하다.