일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Leet Coding Challenge
- 스위프트
- SWIFT
- PYTHON
- 코테준비
- leet code
- 전자공학
- 코딩테스트
- 독서노트
- 카카오 코딩테스트
- SWIFTUI
- 컨볼루션
- 파이썬
- 이산신호처리
- dft
- 코테
- 알고리즘
- leetcode
- 알고리즘 문제풀이
- 알고리즘문제풀이
- backjoon
- 릿코드
- 트라이
- 신호처리
- 프로그래머스
- 백준
- Trie
- IOS
- DSP
- DTFT
- Today
- Total
목록전체 글 (99)
매일 매일 성장하는 섭섭군
이번에 풀어볼 문제는 백준 5567번 결혼식 문제입니다. 문제는 다음과 같습니다. https://www.acmicpc.net/problem/5567 5567번: 결혼식 문제 상근이는 자신의 결혼식에 학교 동기 중 자신의 친구와 친구의 친구를 초대하기로 했다. 상근이의 동기는 모두 N명이고, 이 학생들의 학번은 모두 1부터 N까지이다. 상근이의 학번은 1이다. www.acmicpc.net 처음에 접근할 때에는 트리를 이용해서 풀어볼까 생각했지만 다른 간단한 방법도 생각나서 풀이를 진행했습니다. 접근 아이디어 - 1번(나)를 포함하여 모든 동기의 번호를 dict에 저장한다. - 1번(나)이 가지고 있는 Value를 Set(집합, 중복을 허용하지 않는다.)로 저장시킨다. - 1번(나)이 가지고 있는 각각의 값..
이번에 풀어볼 문제는 백준 9237번 문제은 이장님의 초대 라는 문제입니다. 문제는 다음과 같습니다 https://www.acmicpc.net/problem/9237 9237번: 이장님 초대 문제 농부 상근이는 마당에 심기 위한 나무 묘목 n개를 구입했다. 묘목 하나를 심는데 걸리는 시간은 1일이고, 상근이는 각 묘목이 다 자라는데 며칠이 걸리는지 정확하게 알고 있다. 상근이는 �� www.acmicpc.net 알고리즘 분류에는 트리로 분류되어 있지만 필자는 약간 다른 방식으로 풀이를 진행하였습니다. 1. 묘목들을 오름차순으로 정렬합니다. 2. 묘목의 0번째 순서는 0 을빼고 i 번째 순서에는 i 를 빼는 연산을 진행해 줍니다. 3. 전체 묘목의 수와 2번을 거친 후 묘목들 중 최댓값을 더해주면 가장 짧..
이번에 풀어볼 문제는 백준 1068번 트리 라는 문제이다. 문제는 다음과 같다. https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 필자는 본문제를 트리를 직접 만들어서 풀었다. Node Class 와 Tree Class 를 정의하고 이를 사용하였다. 다음과 같이 작성하였다. class Node: # 노드 클래스에는 노드의 이름(data)와 자식으로 구성되어 있다. # 자식이 없으면 None이며 있다면 배열에 저장되도록 구현하였다. def _..
이번에 풀어볼 문제는 백준 7453번인 합이 0인 네 정수라는 문제입니다. 문제는 다음과 같습니다. https://www.acmicpc.net/problem/7453 7453번: 합이 0인 네 정수 문제 정수로 이루어진 크기가 같은 배열 A, B, C, D가 있다. A[a], B[b], C[c], D[d]의 합이 0인 (a, b, c, d) 쌍의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주�� www.acmicpc.net 문제를 살펴보면 4개의 배열이 있고 각 배열의 원소를 하나씩 적출해내어 합을 0으로 만들면 되는 문제입니다. 필자는 처음 시도할때 조합을 이용하여 풀고자 했습니다. itertools 의 product 을 활용하면 각각의 배열에 있..
이번에 풀어볼 문제는 백준 2910번인 빈도 정렬 문제이다. 문제는 다음과 같다. https://www.acmicpc.net/problem/2910 2910번: 빈도 정렬 문제 위대한 해커 창영이는 모든 암호를 깨는 방법을 발견했다. 그 방법은 빈도를 조사하는 것이다. 창영이는 말할 수 없는 방법을 이용해서 현우가 강산이에게 보내는 메시지를 획득했다. 이 �� www.acmicpc.net 들어온 순서와 빈도를 고려하기 때문에 요전에 풀었던 1713번과 매우 유사한 방법으로 해결 할 수 있다. 하나의 딕셔너리를 생성 한 후 다음과 같이 적재한다면 어렵지 않게 해결 할 수 있다. Key : 메세지 Value : [빈도, 들어온 순서] 딕셔너리에 전부 적재 했다면 정렬을 통해 진행 답을 도출해 내면 끝이다. ..
이번에 풀어볼 문제는 백준 1713번인 후보 추천하기라는 문제입니다. 문제는 다음과 같습니다. https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1≤N≤20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대로 � www.acmicpc.net 이번 문제를 풀때 고려해야 할 점을 크게 두가지로 잡았다. 1. 액자에 걸린 추천수와 들어온 수서를 어떻게 기억할 것인지? 2. 액자에 걸수 있는 후보 사진이 꽉 찼을때 어떻게 제거하고 추가할 것인지? 필자는 본 사항을 딕셔너리를 통해 해결하였다. 다음과 같은 딕셔너리 형태를 만들고 진행했다. K..
이번에 풀어볼 문제는 백준 10546번인 배부른 마라토너 라는 문제입니다. 문제는 다음과 같습니다. https://www.acmicpc.net/problem/10546 10546번: 배부른 마라토너 문제 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, www.acmicpc.net 본 문제에서 가장 주의깊게 살펴 봐야 하는 것은 동명이인이 존재 할 수 있다는 것 입니다. 만약 모든 사람의 이름이 다르다면 배열이나 딕셔너리에 없다면 그 이름이 정답일 것 입니다. 저는 동명이인 문제를 다음과 같이 해결했습니다. 1. 참가한 사람들의 dict를 생성하고 적재한다. 적재하는 ..
이번에 풀어볼 문제는 프로그래머스에 있는 실패율이라는 문제입니다. 2019년 카카오 블라인드 채용에 나왔던 문제인데요 문제는 다음과 같습니다. www.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 요약하면 다음과 같습니다. N 개의 스테이지가 존재하고 stages란 배열에 참가자들이 현재 도전중인 스테이지가 주어진다. 현재 도달한 스테이지는 아직 클리어하지 못한 것이다. 각 스테이지마다 실패율 : (스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수)/ (..