일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 격파르타 장점
- 백준
- hackerrank
- BFS: Shortest Reach in a Graph
- 격파르타 합격후기
- Max Array Sum
- python
- DFS: Connected Cell in a Grid
- 해커랭크
- Find the nearest clone
- Roads and Libraries
- 격파르타 후기
- [sqld]자격증합격
- 코딩테스트
- 구슬탈출2
- Special String Again
- Reverse Shuffle Merge
- 야근지수
- 알고리즘
- candies
- 피보나치 함수
- Interview Preparation Kit
- 매칭점수
- 머신러닝
- Common Child
- 파이썬
- 프로그래머스
- programmers
- Recursion: Davis' Staircase
- Algorithm
- Today
- Total
목록알고리즘 (22)
Archive
https://www.hackerrank.com/challenges/special-palindrome-again/problem Special String Again | HackerRank Find Special sub-strings in a string. www.hackerrank.com 풀이 입력으로 문자열 길이, string이 주어졌을 때, 다음 조건에 만족하는 substring 개수를 구하는 문제 substring에 포함된 모든 문자가 같은 경우. ex) aaa substring의 가운데 하나를 제외한 양 옆의 모든 문자가 같은 경우. ex) aadaa ex) s = mnonopoo special substrings = {m, n, o, n, o, p, o, o, non, ono, opo, oo} ..
https://www.hackerrank.com/challenges/sherlock-and-valid-string/problem Sherlock and the Valid String | HackerRank Remove some characters from the string such that the new string's characters have the same frequency. www.hackerrank.com 풀이 입력으로 string이 주어지고, 각 문자의 빈도 수가 같거나, 하나의 문자를 제거했을 때 빈도 수가 같으면 valid string으로 정의. 먼저 입력 string에 대해 frequency를 세고, 해당 정보를 dictionary에 저장. 그리고 frequency에 대한 빈도 수를 ..
https://www.hackerrank.com/challenges/ctci-merge-sort/problem Merge Sort: Counting Inversions | HackerRank How many shifts will it take to Merge Sort an array? www.hackerrank.com 풀이 예제처럼 bubble sort로 구현하면 timeout 발생 merge sort로 구현해도 timeout 발생함 merge 부분에서 list의 append함수를 지역 변수로 사용하는게 빠름. 필요한 정보들( len(list) 등)을 미리 변수에 할당하고 사용하는게 빠름. 가운데 index를 계산해 둘 씩 나누다가, 합칠 때 inversion 경우를 count함. i < j 일 때, a..
https://www.hackerrank.com/challenges/fraudulent-activity-notifications/problem Fraudulent Activity Notifications | HackerRank Print the number of times a customer receives a notification www.hackerrank.com 풀이 d길이를 유지하면서 median을 유동적으로 계속 구해줘야함. 한 번 iteration할 때마다 sort하고, median을 직접 계산하면 timeout. 문제 조건에서 expenditure[i]는 0 이상 200 이하의 정수임을 명시했기 때문에 이를 count하는 배열을 만들어 median을 구하는데 활용. count[expendit..
programmers.co.kr/learn/courses/30/lessons/62049 코딩테스트 연습 - 종이접기 직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽�� programmers.co.kr 후기 규칙을 정확히 찾아야 함. 처음 test case 1, 2, 3만 봤을 때, 이전 접은것이 2번 반복 + [1]로 코딩했으나 틀림. 규칙은 이전 값 + [0] + 이전 값의 xor 이었음. 재귀함수보다 for문으로 answer를 덮어쓰는 방법으로 구현. 파이썬 코드 def solution(n): answer = [] for i in range(n): answ..
www.hackerrank.com/challenges/climbing-the-leaderboard/problem Climbing the Leaderboard | HackerRank Help Alice track her progress toward the top of the leaderboard! www.hackerrank.com 후기 문제 입력 조건을 꼼꼼히 봐야함. scores의 경우 내림차순으로(100, 90, 80, ...) 입력받고, alice의 경우 오름차순(50, 60, 79, ...)으로 입력받는다. 처음에는 입력 조건 제대로 안보고 scores list를 매번 반복문을 통해 순회하며 올바른 등수를 찾았지만, 시간초과 남. 나중에 입력 조건 확인 후, 정렬된 값으로 입력받기 때문에 alice..