일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이산신호처리
- SWIFT
- 알고리즘
- 릿코드
- 백준
- 코딩테스트
- Leet Coding Challenge
- 코테준비
- 프로그래머스
- 신호처리
- DSP
- SWIFTUI
- 트라이
- Trie
- leet code
- 카카오 코딩테스트
- DTFT
- 전자공학
- 알고리즘문제풀이
- 코테
- 스위프트
- leetcode
- backjoon
- PYTHON
- IOS
- dft
- 파이썬
- 컨볼루션
- 알고리즘 문제풀이
- 독서노트
- Today
- Total
목록알고리즘 문제풀이/백준 (35)
매일 매일 성장하는 섭섭군
이번에 풀어 볼 문제는 백준 7562번인 나이트의 이동 이란 문제입니다. 문제는 다음과 같습니다. https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 문제 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있을까? 입력 입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 세 줄로 이루어져 있다. 첫째 줄에는 체스판의 한 변의 길이 l(4 ≤ l ≤ 300)이 주어진다. 체스판의 크기는 l × l이다. 체스판의 각 칸은 두 수의 쌍 {0, ... www.acmicpc.net 문제를 정리하자면 체스판의 크기와..
이번에 풀어볼 문제는 백준 1543번 문서 검색 문제 입니다. 문제는 다음과 같습니다. https://www.acmicpc.net/problem/1543 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한� www.acmicpc.net 문제를 요약하자면 다음과 같습니다. 입력 : 문자열 s 와 찾고자 하는 문자열 p가 주어진다. 출력 : s 안에서 p가 중복되지 않게 몇번 등장하는지를 출력한다. 문자열 s의 0번재에서 검색을 시작 할수도 있고 2, 3 번재에서부터 검색을 시작 할수도 있다고 합니다. 문자열 s의 최대 길이가 2500이니 2499번..
이번에 풀어 볼 문제는 백준 1065번인 한수 라는 문제입니다. 문제는 다음과 같습니다. https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제를 살펴보면 각 자릿수가 등차수열을 이루는 수를 구하는 문제입니다. 즉 123 은 각 자릿수의 차이가 1임으로 이에 해당됩니다. 그리고 한자릿수와 두자리수는 각자리수의 차이가 동일할 수밖에 없으므로 모두 해당됩니다. 즉 1~99 까지 99개의 수는 문제에서 ..
이번에 풀어 본 문제는 백준 1205번 등수구하기 문제입니다. 먼저 문제는 다음과 같습니다. https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 송유진의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보다 작거나 같은 자연수 또는 0이다. 둘째 줄에는 현재 랭킹 리스트에 있는 점수가 비오름차순으로 주어진다. 둘째 줄은 N이 0보다 큰 경우에만 주어진다. www.acmicpc.net 문제를 읽어보면 제목 그대로 등수를 구하는 문제입니다. 하지만 그냥 구하는 것이 아니라 조건이 몇가지 있습니다. 1. 만약 ..
이번에 풀어볼 문제는 백준 1788번인 피보나치 수의 확장이라는 문제이다. 문제를 보면 다음과 같이 설명 되어 있다. https://www.acmicpc.net/problem/1788 1788번: 피보나치 수의 확장 첫째 줄에 F(n)이 양수이면 1, 0이면 0, 음수이면 -1을 출력한다. 둘째 줄에는 F(n)의 절댓값을 출력한다. 이 수가 충분히 커질 수 있으므로, 절댓값을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 우리가 익히 알던 피보나치 수는 0보다 큰 양의 정수만 정의된다. 본 문제에서는 음의 정수에도 피보나치 수를 확장 시킨 것이다. 완전히 새로울 것 같지만 몇단계만 거친다면 우리가 익히 알던 피보나치 수와 큰 차이가 없다는 것을 알 수 있다. 본 문제에..
이번에 풀어볼 문제는 백준 1431번인 "시리얼 번호" 라는 문제입니다. 일단 문제부터 함께 살펴보도록 하겠습니다. https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 1,000보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루어져 있다. 시리얼 번호는 중복되지 않는다. www.acmicpc.net 정렬과 관련된 문제입니다. 문제에서 주어진 조건대로만 정렬해서 출력한다면 큰 어려움 없이 해결 할 수 있는 문제입니다. 저는 본 문제를 풀때 Python의 lambda 를 활용하여 문제를 풀었습니다, lambda는 파이썬에서 한번만..
이번 문제는 백준 10825 국영수 라는 문제입니다. 정렬 알고리즘에 분류된 문제로 여러개의 조건으로 정렬을 진해하는 것이 최종 목표입니다. 문제의 내용과 입출력은 다음과 같습니다. 문제를 보면 정렬을 해야 하는 조건이 4가지가 있는데요 간략하게 요약해보면 1. 국어점수 내림차순 2. 영어점수 오름차순 3. 수학점수 내림차순 4. 이름 오름차순 저는 이 문제를 python 의 lambda를 활용해서 정렬하였습니다. 학생정보가 들어갈 배열을 하나 생성한 다음에 입력들어온 순서대로 저장합니다. 2차원 배열의 형태로 만들어지게 되며 이를 위에 명시된 기준대로 정렬합니다. python 내에서 lambda 로 정렬 조건을 추가할 때 내림차순으로 정렬하고자 할때에는 - 를 붙이면 됩니다. 그렇다면 위의 조건은 다음..
이번에 살펴 볼 문제는 올바른 괄호인가를 판단하는 문제입니다. 먼저 문제의 조건과 입출력이 어떻게 진행이 되는지 한번 살펴보도록 하겠습니다. 소괄호로만으로 이루어진 문자열이 주어졌습니다. 덕분에 우리는 "(" 와 ")"만 구분하면됩니다. 저는 본 문제에서 Stack을 활용해서 문제를 풀었습니다. 문제를 푼 과정은 다음과 같은 과정으로 풀었는데요 - 문자열을 받아온 후 하나씩 체크해 봅니다. - 만약 "(" 문자가 온다면 스택에 추가 해 줍니다. - ")" 이 문자가 왔을 시 스택에 저장되어있는 문자가 있는지 확인하고 있다면 pop 하고 없다면 정답은 No 가 출력되게 됩니다. - 문자열을 다 순회 하였음에도 불구하고 Stack 에 문자가 있다면 No 를 출력합니다. 그 이외의 경우에는 YES를 출력합니다..