곱하기 혹은 더하기
코드 리스트의 인덱스 0, 1 / 1, 2 / 2,3 이런 식으로 쭉쭉쭉 비교해줘야 한다고 했을 때 파이썬은 리스트를 복사해서 두번쨰 리스트의 첫번째 요소를 제거하고 마지막에 ''를 붙여서 길이를 맞춰준 다음 두 리스트의 같은 인덱스의 값을 비교하는 방법을 썼고 자바는
코드동빈북에서 ch4 구현, ch5 bfs,bfs 에서 그래프가 주어지고, 이동하면서 그래프를 체크하는 문제를 참고했다. 이중 포문을 돌 때(그래프 안에 요소들 탐색) 이미 탐색한 요소의 값을 바꿔줘서 해당 값을 재귀로 돌리지 않게 해줘야만 stack overflow가
코드코드동전 리스트에 1원이 없으면 1원이 정답. 1원이 없으면 target = 1이 되므로 다음 확인하는 수는 1 + 1 해서 2를 확인할 수 있다. 1, 2, 4, 8, 16 ... 이런식으로 수를 확인하게 된다. 1이 있다면 2를 만들 수 있고 1, 2가 있다면
코드코드//아직 못올림이 해설 유튜브 를 보고 동빈북 코드를 이해하려고 하면 이해가 간다. sort는 https://velog.io/@bongf/210729-Algorithms-TIL 참고 큐는 https://velog.io/@bongf/210814-
먼저 알파벳을 해당 하는 알파벳을 만들어 두고 이동할 거리를 구했다. 최적의 거리를 구하는 방법은 어디서 이동하든 다음 목적지로 갈 때 최선으로 이동한다고 생각했다. 그래서 해당 목적지에 도달할 때까지 순차적으로 가는 방법과 거꾸로 가는 방법 두가지 케이스로 나눠 최적
코드Stringbuilder append insert StringBuilder 앞에 추가 insert 는 원하는 위치에 삽입 가능 하다. 첫번째 인자로 적는 '위치'는 바이트가 아닌 문자 열 수를 나타낸다.
코드효율성을 고려한다는 말이 없으면 로직을 빨리 짤 수 있는 방법으로 구하는 것이 좋을 것 같다. 동빈북의 그냥 \*3을 냅다 해버리는 것처럼
코드문제를 보고 알맞으 자료구조를 생각할 수 있는지 묻는문제 배열의 마지막을 제거할 때 arr = arr-1 을하면 효율성 안좋다. arr.pop()을 이용해야 한다.
문제 : https://www.acmicpc.net/problem/3190코드
문제 : https://programmers.co.kr/learn/courses/30/lessons/60061코드
치킨집의 개수 범위 m <= 치킨집의 개수 <= 13만약에 치킨집 중에서 m개를 고르는 조합을 고려하면 13에서 최대 m개를 선택하는 조합과 동일$$\_n{C}\_k$$ 값은 100,000을 넘지 않는다. 집의 개수도 100개. 코드전역변수가 이렇게 있고 지
코드
외벽점검 문제 내가 푼 방식 weak point 간의 거리를 계산해서 1명 쓸때는 그 거리가 제일 짧은 놈을 빼는 방식을 사용했는데 아래와 같은 경우에 코드 돌리면 합이 같아 통과하지만 사실은 -1이다. 출제 의도 카카오 문제풀이 https://tech.
깊이 우선탐색 이라고 생각했다. 문제를 풀다보니 너비 우선탐색인 것을 알아냈다. 너비 탐색에서 어려운것은 항상 그 레벨을 표시하는 방법 같다. 옛날에도 이 비슷한 문제 봤었는데 외워야 겠다.
문제코드리스트의 갯수를 세서 나타내주는 함수 most_common() 개수가 많은 순으로 보여주는 메서드 https://github.com/bong6981/programmers/commit/ca1af61aa7fd991372927995cf598ff03ec0ff6
프로그래머스 lev2동빈북 ch13 DFS/BFS 문제문제코드동빈이한테 배울 점 완전괄호 형태를 찾을 때 나는 요소들을 stack에 넣고 빼면서 확인했는지 동빈이는 count라는 int변수를 증감시키면서 해결했다는 점 u, v로 분리할 때도 나는 left, right
문제코드동빈이 풀이를 대략 보고 풀었다. 동빈 풀이에서 얻은 것은 이동 가능한 모든 위치를 List로 반환하는 함수를 만들어 그 리스트이 값들 중 visited 하지 않은 것이 있다면 그대로 queue에 넣는 것이다 또 하나 얻은 것은 board를 변형하면 범위체크를
동빈북 ch15 이진탐색문제 자바로만 품 코드이진탐색으로 target의 인덱스를 구해야 하는 상황이었다. 그 상황에서 target 값을 가진 요소가 여러 개 있을 수 있었다. 나는 일단 tartget과 맞는 인덱스를 찾은 다음에 앞으로 하나씩, 가면서 첫 인덱스를 찾고
동빈북 ch16 다이나믹 프로그래밍 dp 문제코드가장 긴 증가하는 부분수열 LIS Longest Increasing Subsequence 하나의 수열이 주어졌을 때 값들이 증가하는 형태의 가장 긴 부분 수열을 찾는 문제 Di = arrayi 를 마지막으로 가지는 부분수
정확한 순위 동빈북 ch17 최단거리 이 허브를 구하는 문제. 자기를 기준으로 자기 전에 있는 친구들과 + 자기 앞에 있는 친구들 더했을 때 모든 친구들과 연결되어있는 친구를 구하는 문제 이 문제를 이전에 풀었으면 최근에 봤던 알고리즘 시험에서 통과할 수 있었을 것 같
문제백준 pypy로 제출해야 풀린다 플로이드 워셜을 초기화 할 때 max값을 나올 수 있는 경로의 최대값 100001로 해주고 밑에 값 체크를 할 때 경로 < 100001 했는데 그러면 안된다. 왜냐하면 그렇게 되면 어떤 경로의 값이 10000이고 i->j->k
동빈북 ch17 최단경로 코드
동빈북 ch18 기타 그래프 이론 문제 동빈 풀이 보고 풀었다. 코드노드가 연결되어 있으면 - 한 집합으로 묶는다. 이 노드들이 같으 집합에 있기만 한다면 여행을 성공시킬 수 있다.
내코드동빈코드gate 개수(n)만큼 intn+1 그래프를 만들고 plane 최대값의 가장 바깥 쪽 부터 채우는 식으로 풀었다. 이런식으로 해서 앞으로 순차적으로 오면서 만약 plane이 정착할 수 있다면 break 하는 식으로 했다. O(N^2) 동빈과 나는 둘 다 가
코드동빈북 ch18 기타 그래프이론 문제 이전에 원숭이 문제를 풀었던 것이 기억나 원숭이 문제를 보고 크루스칼을 어떻게 쓰는지 찾아 풀었다. 동빈이와 다른 점은 마지막에 result를 구할 때 union에 해당하지 않을 때만 else문으로 빼서 더했다. 동빈은 그냥 최
문제코드동빈북 ch18 기타알고리즘 풀이 단순하게 크루스칼 알고리즘을 사용해서 풀었더니 메모리 초과가 나왔다. 여기서 핵심은 각 축을 중심으로 n-1개의 길만 고려하면 된다는 것이다. 예를 들어 행성이 4개가 있을 때 어쨌든 x축, y축, z축 각각으로 정렬하면 이 일
동빈북 ch18 기타 알고리즘 문제 동빈 풀이를 보고 풀었다.코드동빈코드문제핵심1. 순위를 나타내는 그래프를 어떻게 방향 그래프로 나타낼 것인가? 순위의 상대성을 표현해야 하기 때문에 ex. 1 2 3 4 5 라고 순차적으로 등수라고 했을 때 단순히 리스트로 1 2 3
카카오해설1단계, 특수문자나 공백 버리기, 대소문자 통일하기 -> 두글자짜리 문자로 만들어서 리스트에 담기 2단계, Counter 함수로 각각의 원소에 대해서 개수를 구한다음에 str1 로 만든 리스트를 돌면서 이것이 교집합이면 최소값을 분자에 더해주고, 최대값을 분
소요시간 ㄷㄷ 코드문제구현 문제와 같다고 생각했고, 우선 가장 큰 먹이만 먹는다고 계산했을 때 틀렸다. 동빈 풀이를 보니 모든 경우의 수를 구해서 가장 큰 수를 해야 한다는 것을 보았다.완전탐색을 dfs로 했는데 사용하는 변수가 전역 변수인 경우, 해당하는 변수를 de
백준, 브론즈3문제코드(https://github.com/bong6981/algorithms_website/commit/fb0da3b25edb18731d32e18d9e14b349c2d41bf1- gcd(최대공약수) 푸는 법이나 공약수 푸는 법 다 외우기
백준, 브론즈3문제코드(https://github.com/bong6981/algorithms_website/commit/fb0da3b25edb18731d32e18d9e14b349c2d41bf1- gcd(최대공약수) 푸는 법이나 공약수 푸는 법 다 외우기
동빈북 삼성기출, 구현, 시뮬레이션 문제자바로 안품, 파이썬으로만 품 코드
문제코드heaq.merge() 여러 정렬된 입력을 단일 정렬된 출력으로 병합정렬된 배열 두 개 합칠 때 이를 이용하면 된다. 의 의미 https://www.geeksforgeeks.org/args-kwargs-python/ \- (1) \*agrs 인자를
전에 풀이에다가 풀이를 덧대었다. https://velog.io/@bongf/211113-Algorithms-TIL
브론즈3문제코드실버3문제너무 많이 틀려서 한 번 정도 더 풀어보자실버 1
1차 문제코드https://hwiyong.tistory.com/398https://hazelcast.com/glossary/cache-miss/새 데이터가 들어오면 cache miss 캐시에 넣어준다. 캐시가 가득 차있다면, 가장 오래된 캐시 제거 이
이전에 풀었던 풀이에 올렸다. https://velog.io/@bongf/211017-Algorithms-TIL
문제코드문제의 설명에서 트리에 관해 배운 내용을 이전에 트리를 정리한 글에 덧붙였다. 런타임 에러나서 sys.setrecursionlimit(10\*\*9) 설정해 주니 통과내 풀이는 부모와 자식 관계를 다 설정해준 다음 -> 자식의 수를 세는 방법이었는데 구글링 해본
문제코드트라이 자료구조를 써야 할 줄 알았는데 그냥 set으로 푸니까 풀렸다 문제코드동빈북에서 신장트리(복습) : 하나의 그래프가 있을 때 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프 크루스칼 알고리즘 : 최소한의 비용으로 신장 트리 찾을 때 사용하는 알
문제코드처음에 행별로 누적값을 계산한 후 구했더니 시간초과. 아예 처음부터 직사각형의 합을 누적합으로 저장해줘야했다. 계산을 편하게 하기 위해 가로 세로 모두 한 줄씩 더 크게 만들고 첫행은 전부 0으로 나머지 열도 첫 칸은 전부 0으로 초기화 해줬다. 데이터 값을 저
문제코드(https://github.com/bong6981/algorithms_websites/commit/3f8210c894fce43fcd96dd1855d961a560dff555풀지는 못했고 다른 분들이 작성한 코드를 보면서 이해했고 코드를 안보고 내 나름대
문제코드문제코드문제코드카카오풀이파이썬 find(), count()해당 문자열이 기준 문자열에 있는지 확인하고 인덱스를 반환한다 없을 시에는 -1을 반환한다
유형별 문제풀이 tony - 그리디 폴리오미노 문제 코드 푼 것, 배운 것 로직을 수행해야 하는 X 문자열과 로직 없이 .을 수행하는 문자열을 어떻게 구분해서 받을까 하고 복잡하게 분기처리를 했다. replace를 활용한 다른 이의 풀이를 보니 훨씬 깔끔하고 쉬웠다.
문제코드문제코드마지막에 최대 것의 수를 계산할 때 stream filter를 쓰면 틀리고 직접 for문 돌면서 개수를 세주면 맞는데 왜 그런지 모르겠다 BufferedReader, BufferedWriter는 효율성 문제일 때만 써 익숙치 않아 다른 분의 풀이를 보고
문제코드문제코드유형은 이분탐색이었지만 수학으로 풀었다문제코드문제코드pypy로 풀었을 때만 통과했다. python3로 풀었을 때는 시간초과다 다른분들 python3를 통과한 코드를 보니 1) 구름 이동에 대한 식이 더 간단하다나는 결과값이 음수일 때와 n을 넘을 때에 대
카카오 lev2 프로그래머스 2019 카카오 인턴십 튜플 이전에 풀었던 풀이에 작성함
문제코드파이썬 성공 자바 실패 (정수 범위의 문제인지 실패한다)😥처음에 매번 sort()를 해줬다가 시간 초과가 났다. 다른 분들 글을 보고 이진탐색으로 해결한 방법과 Countring Sort를 이용한 방식이 있다는 것을 알게 되었고 두가지 방법을 이용해서 풀어봤다
이전에 풀었던 풀이에 작성함
유형별 문제풀이 tony - 구현 백준 21611번 블랙잭 문제 코드 유형별 문제풀이 tony - 이분탐색 백준 2798번 정수제곱근 실버5 문제 코드 유형은 이분탐색이었지만 수학으로 풀었다 유형별 문제풀이 tony - 백트랙킹(조합) 백준 15650번 N과 M (
유형별 문제풀이 tony - 그래프 탐색, bfs, dfs 백준 1260번 DFS와 BFS 실버2 문제 코드
유형별 문제풀이 tony - 그래프 탐색, bfs, dfs 백준 1260번 DFS와 BFS 실버2 문제 코드
삼성전자 DX부문 동계 대학생 S/W 알고리즘 역량 강화 특강 사전 문제를 풀었다. API를 구현하는 처음 경험한 알고리즘 유형이었다 우테코 프리코스의 심화 버전 느낌이었고 재밌었다. 하지만 시간초과를 통과하기 어려웠다.
문제코드문제 유형을 인식안하고 풀었더니 복잡하게 풀었다. 크루스칼 알고리즘을 쓰면 된다. 자바는 크루스칼을 이용해서 풀었다.
문제코드처음에는 Board에 각 과목마다 미리 들어야 하는 과목들을 저장했다. 그리고 w로 주어진 과목부터 거꾸로 들어가면서 제일 먼저 들어야 했던 과목까지의 시간을 계산해서 sort하여 가장 오랜 걸린 시간을 답으로 제출했다. queue로 풀었는데 메모리 초과로 나와
문제코드파이썬으로 처음에 풀었을 때 여행 정보들을 담아서 다음 여행지로 갈 수 있는지에 대한 체크를 하나하나씩 해줬다 a-b-c-d라면 a,b 에 대해 각각 find_parent()를 해서 둘이 같은지를 비교하는 방식. 그 다음 b-c비교 다른 분들 풀이를 보고 그럴
문제코드카카오해설. 다시 풀 때 해당 프로그래머스 풀이로 풀 수 있도록 공부하자 연산자를 가려 낼 때 나는 expression의 character를 하나하나 확인하면서 연산 기호 안에 있으면 이를 연산자 리스트에 담았는데 프로그래머스 다른사람들의 풀이에 한 번에 하는
문제코드
문제코드처음에 파이썬으로 풀 때 jobs의 index를 통해 탐색하는 방식으로 풀다가 풀이가 복잡해져서 queue를 쓰는 방식으로 변경했다. 같은 queue를 썼지만 좀 더 깔끔한 풀이가 프로그래머스 다른 풀이에 있어 그를 참조해서 자바 코드를 작성했다. 자바까지 풀고
문제파이썬, 자바 - 코드Comparator.comparing 할 때 역순으로 하고 싶으면 타입을 지정해줘야 한다. reversed()를 안 쓸 때까지는 위의 코드가 문제가 없었는데 reversed()를 쓰니 컴파일 에러가 발생했다. https://stacko
KMP 알고리즘 자료구조 공부 소스https://velog.io/@bongf/220207-Algorithms-TILhttps://m.blog.naver.com/kks227/220917078260주의. FailTable을 만들 때는 0번부터 시작하면 항
문제코드이 코드 더 파이썬스럽게 깔끔하게문제코드삽입정렬로 풀고자했다다른 사람 풀이를 보니 최대힙과 최소힙 두 개를 만들고 싱크를 맞춰줘야 한다고 한다그렇게 풀었더니 더 빠름을 확인할 수 있다최소힙 최대힙을 사용하는 것으로 풀었더니 자바는 훨씬 느리다
문제코드카카오해설dictionary를 써서 저장했는데 카카오 풀이에서는 배열을 쓰라고 나와있다. 차량번호 범위가 0000~9999 이므로.
문제코드아래와 같이 풀려고 했는데 기준이 애매했다. 겹치는 자동차의 순서가 똑같다면 우선순위를 어떻게 할 것인가? 6만의 도로 번호 각각은 구조체로 만든다각 도로 번호는 자동차 번호를 set으로 갖고 있다cnt 값도 갖고 있다 cnt는 자동차의 수compare를 cnt
문제풀이카카오해설시작시간 기준으로 sorting을 하고 stack에 하나씩 담으면서 지금 확인하는 시간의 시작시간보다 종료시간이 더 빠른 것들은 빼주는 방식으로 풀었다. 그러기 위해서 stack을 종료시간 기준으로 sorting 해줘야 했다. 처리 완료후 1초 동안은
문제코드다른 분의 풀이를 보고 풀었다.핵심은 숫자 1개로 만들수 있는 수, 2개로 만들 수 있는 수, 3개로.. 이렇게 차곡차곡 데이터를 채워나간다는 것숫자 2개로 만들 수 있는 수는 연산자 없이 숫자2개를 이어붙인 수와 숫자 1개로 만들 수 있는 수끼리 연산 한 것
문제코드
문제코드파이썬으로 처음에 풀었을 때 1번째 행과 1번째 열에 대해서 1로 값 초기화를 해줬다처음에 고려를 못한 부분이 1번쨰 행과 1번째 열에 puddle이 있었을 경우 그 뒤는 0으로 초기화 해줘야 했다는 것이 오류를 수정하여 통과했다.다른 사람 풀이를 보니 n+1,
알고리즘 - 완전탐색 백준 5618번 공약수 실버3 문제 코드 푼 것, 배운 것 파이썬 : 라이브러리 익숙해지기 중복을 허용한 순열 product(data, repeat=) 이용 자바: 리스트로 풀었을 때 시간초과 배열로 풀었을 때 통과(류호석님 풀이)
아래 문제들 모두 파이썬으로 풀었고 자바는 류호석님 코드로 따라해봤다문제코드문제코드작성한글파이썬 푼 방식으로 자바로 돌렸을 땐 통과했다.파이썬은 시간 초과가 났다. 다른 사람들 풀이를 보니 파이썬은 시간 초과가 나고 n이 11까지 밖에 없으므로 이런식으로 해당 답들을
아래 문제들 모두 파이썬으로 풀었고 자바는 류호석님 코드로 따라해봤다문제코드문제코드작성한글파이썬 푼 방식으로 자바로 돌렸을 땐 통과했다.파이썬은 시간 초과가 났다. 다른 사람들 풀이를 보니 파이썬은 시간 초과가 나고 n이 11까지 밖에 없으므로 이런식으로 해당 답들을
문제코드문제코드문제코드리스트를 for문으로 역숙으로 돌 때 reversed 사용문제코드문제코드문제코드문제코드문제코드문제코드문제코드
문제코드문제코드문제코드1자리 수까지 보고 싶으면 1, 2자리 수까지 보고 싶으면 2 ... https://blockdmask.tistory.com/534format(value, '.6f') 이렇게 하면 6자리까지 채워진다. ".6f"로 쌍따옴표로 하면 floa
정글 알고리즘 백준 2751번 수 정렬하기 2 실버5 문제 코드 빨리 입력받는 방식으로 바꿨더니 통과 공부한 것 python의 sort는 Timsort를 이용한다. [java의 object sort랑 같다](https://velog.io/@bongf/%EC%95%8
문제코드문제코드1과 0만은 값으로 가질 때 1-> 0으로 0->1로 바꿀 때 논리 연산자 ^ 를 써줌문제코드문제코드알고리즘 문제를 Python으로 풀다보면 소수점 자리 출력을 하는 문제가 나온다.이런식으로 원하는 자리수를 print('%.원하는자리수f' % 출력값) 이
문제코드언제 더이상 검사하지 않을 것인가를 걸러주는 조건이 중요하다 풀이1이 더 빠르다 (파이썬은 풀이 1 시간초과) 풀이2는 바람의 방향을 가정하고 visit 처리를 해준 것 풀이1은 막혔을 때 -1로 처리(거꾸로 가지 않음) 풀이1로 풉시다! 문제코드문제코드
문제코드각자리 수의 합 num = sum(map(int, str(i)))
문제코드문제코드작은 수를 max힙에 넣어두고, 큰 수를 min힙에 넣어둔다. 두 힙의 개수를 최대한 똑같게 만들되, 홀 수라면 max힙에 넣는다.max힙의 max값이 가운데 수만약 max힙에 넣으려고 하는데, min힙의 최소값보다 num의 값이 크다면 min힙에서 하나
백준 2470번 두 용액 골드5 문제 코드 푼 것, 배운 것 다른 분 코드 참고함 두 개의 용액을 더해야 하니까 s <= e 가 아니라 s < e 임을 주의 백준 2110번 공유기 설치 골드5 여기에 업데이트 https://velog.io/@bongf/211022
https://velog.io/@bongf/210930-Algorithms-TIL 에 업데이트 문제코드~로 나눈 나머지로 구하세요 문제에서 뭔가 안풀릴 때는 마지막까지 %n 으로 나눠보자 문제코드가장 오른쪽에는 어쨌든 최근까지 유지된 높이중 가장 높은 것이 올
문제코드왜 처음에 sort 할 때 시작점으로 잡으면 안되나 end 점으로 잡아야 하나 의문이었는데 next_e - acc_e0 값을 비교해서 acc에서 빼기 때문에 next_e를 기준으로 잡아야 하기 때문이다 더 작은 애가 먼저 빠질 수 있기 때문에여기 업데이트 ht
문제코드https://st-lab.tistory.com/256https://my-coding-notes.tistory.com/103다른 사람의 풀이를 보고 이해했다. 분할 정복이니까 범위를 나눠야겠지x좌표 y좌표가 다른데 범위를 어떻게 나눌까? 축을
(6문제)분할정복은 어찌되었든 쪼갠 후에 그 결과들을 모으는? 과정이 필요할 수밖에 없다. 분할 된 것들을 합쳐야 하니까 그 합치는 과정에서 어떻게 하면 반복을 줄이고, 불필요한 검사를 줄일까를(필터걸어 유효하지 않은 값 애초에 확인하지 않고 제거)고민해야 시간복잡도를
문제코드-파이썬조원이 알려준 풀이로 풀었다. 문자열의 길이와 인덱스로 접근해야 한다. 지금까지는 작은문제에서 올라가는 상향식 방식을 많이 풀었는데 큰 문제를 작은 문제로 나누는 하향식 문제였다. 구하려는 n이상의 길이를 갖는 것이 몇번 째에 나오는지 구하고, 그 길이의
https://velog.io/@bongf/211226-Algorithms-TIL 에 업데이트 문제코드-파이썬구글링 참고했다중위순회를 한 값이 주어지기 때문에 가장 첫번째에 나오는 값은 루투일 것이고 어느 기점을 기준으로 그 왼쪽은 자신보다 작은 값, 그 오
문제코드-파이썬https://kth990303.tistory.com/141 이 블로그와 조원의 설명으로 풀었다. 트리이므로 두 실내 사이에는 유일한 경로 밖에 없다. 연결된 실외들의 덩어리에 붙어 있는 실내들의 수를 구하고, 양방향은 다른 경로로 치므로 ans
문제코드-파이썬https://velog.io/@bongf/211013-Algorithms-TIL 에 업데이트https://velog.io/@bongf/220315-Algorithms-TIL 에 업데이트 문제코드-파이썬핵심은 빙하가 몇 개인지 체크할 때
문제코드-파이썬https://velog.io/@bongf/211013-Algorithms-TIL 에 업데이트모든 경로의 비용이 똑같으면 특정점에서 특정점까지 BFS로 최단 비용을 구할 수 있고, 각 비용이 다르다면 최단 경로 문제로 풀 수 있다. https&#
문제코드-파이썬진출차수로 풀거나 저장시에 반대로 저장해서 (a->b 라면 b-a) 부터 해서 뒤에서 부터 뽑아내면서 뒤의 숫자부터 채워가는 방식으로 푸는 문제였다.왜 앞에서 부터 순차적으로 작은 수를 채워가면 안되고, 뒤에서부터 큰 수를 채워가면 될까? 의문이 있어서
문제코드-파이썬문제코드-파이썬문제코드-파이썬문제코드-파이썬문자로 들어와도 그대로 처리하자 그래프 안바꾸고 따로 visited 배열 만들어서 갈 수 있는 값, 없는 값 확인하는 방법도 있다. 문제코드-파이썬문제코드-파이썬문제코드-파이썬
문제코드-파이썬문제코드-파이썬플로이드 워셜로 푸는 것이 더 나을 듯 : 모든 노드들 사의의 거리는 구하는 거니까 플로이드 워셜 n의 세제곱
문제코드-파이썬00을 뒤에만 붙이는 것은 이해했다(i-2)에서 i-1 에서 1을 붙일 때 왜 앞에 붙이는 것은 계산 하지 않는지 이해가 어려웠는데 조원의 도움으로 이해했다. 앞에다 1을 붙이면 어쨌든 맨 뒤는 0이나 1로 끝날 것. 그럼 앞에 1이 있는 상태에서 00이
문제코드-파이썬
문제코드-파이썬sort를 안하고 애초에 저장할 때 서류 순위를 index로 삼고 면접 순위를 value로 넣어 하면 sort를 안해도 되서 시간이 더 빠르다 문제코드-파이썬
문제코드-파이썬heapq를 이용해 푸는 방식과 dp를 이용해 풀었는데 시간 차가 많이난다. dp에 더 익숙해지도록 해야겠다
문제코드-파이썬문제코드-파이썬파이썬에서 and와 &이 같은 연산자라고 생각했다가 이 부분에서 오래걸렸다. and는 논리연산자고 &는 비트 연산자이다 (or과 |도 마찬가지다) 문제코드-파이썬
문제코드
승우님의 코드를 보고 학습함문제코드-파이썬문제코드-파이썬불필요한 VISITED 배열을 만드니 시간초과, VISITED 없애니 시간초과 해결
승우님의 코드를 보고 학습함문제코드-파이썬문제코드-파이썬불필요한 VISITED 배열을 만드니 시간초과, VISITED 없애니 시간초과 해결문제코드-파이썬re.sub(정규 표현식 패턴, 치환문자, 대상문자)return s == s::-1 를 이용하면 뒤집을 수 있다 ^a
문제코드-파이썬파이썬 2차원 배열 출력할 때 요소 하나하나 출력하는 것보다. join써서 출력하는 것이 더 빠르다.
리트코드 819 most-common-word easy 문제 코드-파이썬 정규표현식 뒤에 \s 까지 붙여서 띄어쓰기도 살리기 정답 코드 \w는 word character 단어문자, ^는 not을 의미 -> 단어 문자가 아닌 모든 문자를 공배으로 치환하는 역할을 한다.
리트코드 49번 Group Anagrams Medium 문제 코드-파이썬, 자바 private 정답 코드 정답 코드가 훨씬 깔끔하다 정렬
문제코드-파이썬
문제코드-파이썬cnt가 닭수를 넘을 수도 있기 때문에 최종 값에서 닭 수 \* ans 값을 빼준 것을 정답으로 해줘야 한다. 문제코드-파이썬
문제코드-자바, 파이썬문제코드-파이썬
문제코드-자바, 파이썬문제코드-파이썬
문제코드-자바, 파이썬문제코드-파이썬
문제코드-자바, 파이썬문제코드-자바,파이썬
문제코드-파이썬문제코드-파이썬
문제코드-파이썬
문제코드-자바
문제코드-자바문제코드-파이썬
문제코드-자바'.' 으로 표시되는 비어 있는 칸이고 떨어지는 칸은 아니라는것 주의처음부터 bfs로 했으면 빨랐을 텐데 그것에 대한 판단이 늦음총 10번을 넘으면 stop해야 하므로 level별 체크를 해야 함 문제코드-파이썬
문제코드-자바문제코드-파이썬
문제코드-파이썬
문제코드-자바
문제코드-파이썬문자열을 제거하고 사전순으로 정렬하라는 말이 아님. 문자열 중복을 제거해서 만든 문자열 중에 사전순으로 했을 때 제일 앞에 올 수 있는 것이라는 말임다음에 이 요소가 또 들어오는지 안오는지 확인하고 싶을 때 Counter를 이용한다. Counter로 미리
문제코드-파이썬문제코드-자바
문제코드-자바
문제코드-파이썬자기보다 높은 것이 자신 뒤에 나오면 무조건 제거 되므로 heapq를 안써도 된다.
문제코드-파이썬stack은 입구가 하나라 지난번에 queue를 이용해 stack을 구현할 때처럼 할 수 없으니까, stack을 하나 더 만들어 순서를 변경한다.
문제코드-파이썬
문제코드-파이썬
문제코드
문제코드-파이썬파이썬 알고리즘 인터뷰 풀이 (파이써닉한 풀이)문제코드-자바팀원들의 풀이로 풀었다. 일단 문제를 오해하지 말아야 할게, Question의 경우 다른 이의 표를 계산하는 경우에, 표를 배분 하는 여러 경우에 있어 단 한번이라도 내가 이길 수 있으면 당선 가
문제코드-파이썬이전에 풀었는데 지금 푼 것이 더 낫다learned : index를 계속 추적해야 한다면 매번 index를 찾으면 시간이 많이 소요되니, hashMap을 이용하자
문제코드-파이썬요소 개수가 많고 상위 n개만 추출할 때는 sort() 보다는 priority_queue 를 활용하자 책 풀이는 우선순위큐를 사용한 버전, Counter의 빈도수가 높은 대로 추출하는 방법을사용했따. 파이썬에서는 dictionary의 쌍을 dic.item
문제코드-파이썬답 풀이에서는 1단계, 전역변수를 써서 깔끔하게 처리 2단계 중첩함수를 써서, slef.전역변수를 쓰지 않게하여 조금 더 깔끔하게 진행했다.
문제코드-파이썬자바로도 dp 크기 안정해주고도 되는지 확인 필요
문제코드-파이썬단순 DFS문제코드-파이썬
문제코드-파이썬배열 값 자체 복사 : 를 잘 활용하자
문제코드-파이썬
문제풀이카카오해설
문제코드-파이썬
문제코드-파이썬
문제코드-파이썬
다시 풀었다. https://velog.io/@bongf/220114-Algorithms-TIL파이썬으로 풀 때는 index와 배열 수정을 적극적으로 이용해도 느리지 않다는 것을 기억
문제코드-파이썬문제코드-파이썬
지난 번에 풀었던 https://velog.io/@bongf/211208-Algorithms-TIL 파일명 정렬이었다. 스터디원들의 풀이를 보며 더 배울 수 있었다.
문제코드-파이썬저번 리트코드 문제에서 배운 점을 활용했다. : DFS로 풀 때 내가 return값으로 부모한테 줘야할 값(자식에서부터 부모까지의 단일 최대길이)이랑 정담의 코드를 갱신해야 할 값이랑(경로 왼쪽 오른 쪽 연결했을 때 최대 길이) 두 가지가 있을 때 부모한
문제코드-파이썬수학 문제로 생각보다 간단하게 풀렸다.
https://velog.io/@bongf/211004-Algorithms-TIL지난 번에 풀었던 기둥과 보 문제. 이번에도 못풀었는데. 다시 복습. 그래프를 하나하나 그려줄 필요 없이, 복잡하게 생각해줄 것도 없이 현재 설치된 구조체가 정상적으로 동작할 수
문제코드-파이썬정답 풀이가 훨씬 더 간단하다 문제코드-파이썬정답 풀이가 훨씬 더 간단하다 문제코드-파이썬플로이드 워셜 쓰는 방법 까먹지 말고 기억하자
문제코드-파이썬
문제코드-파이썬이런 경우에서 최소 높이는 가장 가운데에 있는 값이고, 리프노드를 하나씩 제거하면서 남아 있는 갑을 찾으면 가장 가운데에 있는 값이 마지막에 남게 된다. 책에서 알 수 있던 것은 결과가 최종으로 1개 아니면 2개가 나온다는 것이었다. 트리 구조 이기 때문
문제코드-파이썬이진 탐색 트리 문제코드-파이썬
문제코드-파이썬책 풀이를 보니 더이상 유효하지 않을 조건에 대해서는 탐색하지 않는 방법을 통해 시간을 단축할 수 있다. 문제코드-파이썬두 가지의 최적화?를 해야 한다. DFS로 탐색하되, 위, 평행, 아래 순으로 탐색하게 하면 된다. 열을 0에서부터 R까지 내려오면서
백준 1517번 버블 소트 플래티넘5 문제 코드-파이썬 병합정렬을 이용한 풀이 private 세그먼트 트리 문제 풀어봐야 겠다 https://loosie.tistory.com/328 https://mangu.tistory.com/63 https://viyoung.ti
문제코드-파이썬전위, 중위, 후위 순회 중에 2가지만 있어도 이진 트리를 복원할 수 있다. 전위순회의 첫번째 값을 중위순회 한 곳에서 찾으면 그를 기준으로 왼쪽은 그 노드의 왼쪽 오른쪽은 그 노드의 오른쪽이 된다.
알고리즘 문제링크드 리스트를 정렬하기 링크드 리스트를 병합 정렬로 정렬하기를 연습할 수 있는 문제
문제코드-파이썬코드-자바자바로 풀었을 때, 정규 표현식을 이용하면 훨씬 간단하게 풀 수 있다. \* 에 숫자나 문자가 올 수 있다고 가정하고 Patteren의 matches를 사용하는 String의 matches() 메소드를 사용하면 해당 패턴이 맞는지 쉽게 비교할 수
문제카카오풀이코드최대 몇 명까지 강을 건널 수 있는지를 변수로 두고 이를 이분탐색하는 방법이다. x명이라고 가정했을 때 징검다리에 적힌 수에서 x를 뺏을 때 음수가 되면 x번째 애가 건널 때 0인 징검다리 이므로 해당 개수를 센다. m은 max(징검다리 원소 값, 징검
문제코드-파이썬카카오풀이(https://tech.kakao.com/2021/01/25/2021-kakao-recruitment-round-1/in, out이 구간으로 주어질 때 각 초마다 몇 개의 구간이 포함되는지 구할 때, 누적합을 이용한다는 풀이를 배울 수