일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- leetcode
- 전자공학
- 스위프트
- Trie
- 독서노트
- SWIFTUI
- PYTHON
- 백준
- 카카오 코딩테스트
- 릿코드
- 알고리즘 문제풀이
- 코딩테스트
- backjoon
- 알고리즘문제풀이
- leet code
- 코테준비
- DTFT
- 알고리즘
- 파이썬
- 트라이
- 컨볼루션
- 코테
- 프로그래머스
- Leet Coding Challenge
- dft
- 이산신호처리
- IOS
- 신호처리
- SWIFT
- DSP
- Today
- Total
목록백준 (26)
매일 매일 성장하는 섭섭군
www.acmicpc.net/problem/12018 12018번: Yonsei TOTO 연세대학교 수강신청이 얼마 전부터 바뀌어, 마일리지 제도로 바뀌었다. 이 제도는 각각의 학생들에게 마일리지를 주어 듣고 싶은 과목에 마일리지를 과목당 1~36을 분배한다. 그리고 모두 분배 www.acmicpc.net 문제요약 가장 많은 과목수를 골라야 한다. 즉 내가 가진 포인트를 최대한 활용해서 많은 강의를 듣는것이 목적인 문제이다. 문제풀이 IDEA - 각 과목별로 수강할 수 있는 가장 적은 마일리지를 알아낸다. 신청인원이 수강총 정원보다 작을 경우 수강 마일리지는 1 신청인원이 수가총 정원보다 클 경우 수강 마일리지는 다음과 같다. 수강신청 마일리지를 오름차순으로 정렬 -> [수강총 정원 -1]이 수강 마일리..
www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 문제 요약 진실을 알고있는 사람과 연관된 파티에서는 거짓말을 하지 못한다. 즉 진실을 알고 있는 사람과 연관되어 있지 않은 그룹이 몇 개 있는지 파악해야 하는 문제이다. 문제의 예제 입력으로는 문제 파악이 힘들 수 있기 때문에 아래 예시를 함께 봐보자! 입력 4 3 1 4 2 1 2 1 3 2 4 3 4명의 사람과 3개의 파티가 존재한다. 진실을 알고 있는 사람은 1명이며 4번이 진실을 알고 있다. 위의 예시에서 4번 사..
www.acmicpc.net/problem/9202 9202번: Boggle 각각의 Boggle에 대해, 얻을 수 있는 최대 점수, 가장 긴 단어, 찾은 단어의 개수를 출력한다. 한 Boggle에서 같은 단어를 여러 번 찾은 경우에는 한 번만 찾은 것으로 센다. 가장 긴 단어가 여러 개�� www.acmicpc.net 문제 요약 이번 문제는 문제를 파악하는데에도 시간이 다소 걸렸다. 필자처럼 문제를 파악하기 힘드신 분들을 위해 사진으로 표현하면 다음과 같다. 단어목록과 보드가 주어지면 이 안에서 단어목록에 있는 단어들을 찾으면 되는 것이다. 주어진 보드에서 단어목록에 있는 단어를 모두 찾았다면 그 이후의 정답을 내는 작업은 매우 간단하다. 문제에서 하라는대로 하면 된다. 문제풀이 IDEA 문제를 해결하기..
https://www.acmicpc.net/problem/1599 1599번: 민식어 첫째 줄에 민식어 단어의 개수 N이 주어진다. N은 1,000보다 작거나 같은 자연수이다. 둘째 줄부터 한 줄에 하나씩 단어가 입력으로 들어온다. 단어의 길이는 최대 50자이다. 민식어에 없는 알파벳� www.acmicpc.net 문제 요약 이번 문제는 '민식어' 라는 문제이다. 문제를 요약하자면 다음과 같을것 같다. 민식어의 알파벳 순서는 "a b k d e g h i l m n ng o p r s t u w y" 순이다. 입력으로 들어온 단어를 민식어 알파벳 사전순으로 정렬하여 순서대로 출력한다. 문제풀이 IDEA 민식어 단어를 영어로 변환한다. Dict 테이블에 Key : 민식어 , Value : 영어 로 저장한다..
백준 10799 쇠막대기 이번에 풀어볼 문제는 쇠막대기라는 문제입니다. 문제의 링크는 다음과 같습니다. 문제 바로가기 이번 문제는 알고리즘 분류가 스택으로 되어있어 스택을 사용하는 방식으로 문제를 해결했습니다. 문제해결 아이디어 기본적인 아이디어는 레이져가 쏴졌을때 몇개의 막대기를 자르는가 입니다. 이를 알아내기 위해 다음과 같은 방법을 사용했습니다. "("가 나올적에는 스택에 index를 저장합니다. "("가 나왔을때 막대기라고 판명되면(다음 문자열이 ")"가 아닐경우) 정답에 1을 추가합니다. "()" 레이져라 판명될 경우 현재 스텍의 크기를 정답에 더해줍니다. ")"가 나왔을 경우 스택에서 pop을 진행해 줍니다. 위와 같은 방식으로 문제를 해결하였으며 전체적인 코드는 다음 GitHub 링크에 있습..
백준 5397 키로커 이번에 풀어볼 문제는 백준 5397번 키로커 라는 문제이다. 스택 알고리즘에 분류되어있고 solved.ac 랭크 실버3 정도의 문제이다. 문제는 다음과 같다.링크 내가 본 문제에서 중점적으로 본 것은 커서의 위치를 어떻게 컨트롤 하는지에 관련된 것이다. 커서의 위치를 기억하고 해당하는 위치에 비밀번호를 입력하고 삭제하게 된다면 굉장히 많은 시간을 낭비하게 될것이다. Python list에서 insert와 특정위치의 pop의 시간복잡도는 O(N)이다. 문제 해결 아이디어 하나가 아닌 두개의 스택을 사용한다.(stack1, stack2) 알파벳이 나왔을 경우 stack1에 쌓는다. "-"가 나올경우 stack1에서 pop을 진행한다. "" 가 나올경우 stack2에서 pop을 진행하고 ..
이번에 풀어볼 문제는 백준 2504번인 '괄호의 값' 이라는 문제입니다. 문제는 다음과 같습니다. https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net Python으로 푸는경우 +, * () 문자열을 추가시켜서 풀 수 있는 방법도 있지만 저는 스택을 사용하여 풀었습니다. 문제풀이 IDEA - 소괄호, 대괄호 스택을 만들어줍니다. - 문자열의 길이만큼의 0 배열을 만들어줍니다.(total 배열) - "(" 일 때 소괄호 스택에 해당 인덱스를 추가해주..
이번에 풀어볼 문제는 백준 6416번 '트리인가?'라는 문제입니다. 문제는 다음과 같습니다. https://www.acmicpc.net/problem/6416 6416번: 트리인가? 문제 트리는 굉장히 잘 알려진 자료 구조이다. 트리를 만족하는 자료 구조는 비어 있거나(노드의 개수가 0개), 노드의 개수가 1개 이상이고 방향 간선이 존재하며 다음과 같은 조건을 만족해야 �� www.acmicpc.net 이번 문제는 문제에서 제시한 트리를 만족하는 조건을 잘 구현해 주면 된다. 편의상 들어오는 간선은 부모 노드, 나가는 간선은 자식 노드라고 하겠습니다. (위의 제일 왼쪽 트리에서 5의 자식 노드 : 3,6,2 , 6의 부모노드 : 5 ) 1. 단 하나의 루트만 존재한다. -> 루트노드가 2개 이상 있으면 ..