알고리즘 문제 풀이: 파이썬/BOJ211 [BOJ_6550] 부분 문자열 📌 문제 링크: https://www.acmicpc.net/problem/6550 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 어렵게 생각하면 어렵고 쉽게 생각하면 쉬운 문제... 이 문제도 출력 형식에 주의해야 한다. 'Yes'와 'No'를 'YES'와 'NO'로 제출해서 몇 번 틀렸다. 문제를 주의 깊게 읽자! 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 8. [BOJ_1244] 스위치 켜고 끄기 📌 문제 링크: https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 주어진 조건에 따라 구현하면 어렵지 않게 해결할 수 있으나 출력 형식에 꼭 주의해야 한다. 스위치를 한 줄에 20개만 출력할 수 있기 때문에 20개가 넘어간다면 줄바꿈을 해줘야한다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 8. [BOJ_1718] 암호 📌 문제 링크: https://www.acmicpc.net/problem/1718 1718번: 암호 Vigenere cipher이라는 암호화 방법은 암호화하려는 문장 (평문)의 단어와 암호화 키를 숫자로 바꾼 다음, 평문의 단어에 해당하는 숫자에 암호 키에 해당하는 숫자를 더하는 방식이다. 이 방법을 변 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 난이도가 낮은 문제였지만 어떻게 구현할지 생각을 좀 더 해볼 수 있는 좋은 문제라고 생각한다. 먼저 암호화 키는 deque를 이용해서 저장했고, 암호화를 진행하거나 진행하지 않거나 deque를 회전시키는 것으로 계속 사용할 수 있도록 구현했다. 문자열 s가 공백이 아닌 경우, ord() 함수를 이용해 해당 문자의 아스키코드 값.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 8. [BOJ_2512] 예산 📌 문제 링크: https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net ✅ 내 풀이(Success) : 🚩 Idea: - 1번의 경우라면, 모든 요청이 배정될 수 있으므로 예산들 중에서 최댓값을 출력한다. - 2번의 경우라면, 모든 요청이 배정될 수 없으므로 이분 탐색으로 예산의 상한액을 구한다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 7. [BOJ_3758] KCPC 📌 문제 링크: https://www.acmicpc.net/problem/3758 3758번: KCPC 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 테스트 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫 번째 줄에는 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 순위를 정하기 위해 팀 ID를 키(key)로 모든 문제들의 점수를 값(value)으로 갖는 score 딕셔너리와 팀 ID를 키로 [최종 점수, 제출 횟수. 제출시간]을 값으로 갖는 record 딕셔너리를 사용했다. 로그 엔트리 수인 m만큼 for 반복문을 돌면서 i, j, s(팀 ID, 문제 번호, 점수)를 입력받고, 두 딕셔너리를 적절히.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 7. [BOJ_4659] 비밀번호 발음하기 📌 문제 링크: https://www.acmicpc.net/problem/4659 4659번: 비밀번호 발음하기 좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtp www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 난이도가 낮아서 쉽게 생각했는데, 생각보다 까다로웠던 문제였다. 구현해야 되는 각각의 조건들이 어렵지는 않지만, 예제의 출력 형식에 맞지 않게 제출했다가 몇 번 틀리고 나서야 해당 부분을 수정했다. 다음부터는 출력 형식을 하나 하나 비교해보고 제출해야겠다. 문제를 풀고나서 다른 풀이를 찾아보니 정규 표현식을 이용한 풀이가 꽤 .. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 6. [BOJ_25757] 임스와 함께하는 미니게임 📌 문제 링크: https://www.acmicpc.net/problem/25757 25757번: 임스와 함께하는 미니게임 첫 번째 줄에는 임스와 함께 플레이할 사람의 수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들의 이름이 문자 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 게임을 플레이할 사람의 수 N이 최대 100,000으로 매우 크다. 따라서 시간 복잡도가 O(N^2)의 로직을 짜게 된다면 '시간 초과'로 틀릴 수 밖에 없다. 그래도 혹시나 하는 마음에 in 연산자와 집합을 사용해서 풀어봤는데 역시나 '시간 초과'가 발생했다. 그래서 딕셔너리와 get().. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 6. [BOJ_2847] 게임을 만든 동준이 📌 문제 링크: https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이 학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어 www.acmicpc.net ✅ 내 풀이(Success) : 🚩 Idea: 레벨을 첫 번째 레벨부터 마지막 레벨까지 오름차순으로 만들도록 수정하는 것이 아닌 뒤집어서 마지막 레벨부터 첫 번째 레벨까지 내림차순을 만들도록 구현하면 쉽게 풀 수 있다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 5. [BOJ_16139] 인간-컴퓨터 상호작용 📌 문제 링크: https://www.acmicpc.net/problem/16139 16139번: 인간-컴퓨터 상호작용 첫 줄에 문자열 $S$가 주어진다. 문자열의 길이는 $200,000$자 이하이며 알파벳 소문자로만 구성되었다. 두 번째 줄에는 질문의 수 $q$가 주어지며, 문제의 수는 $1\leq q\leq 200,000$을 만족한다. 세 번째 www.acmicpc.net ❌ 내 풀이(Failure) - 50점: ✅ 내 풀이(Success) - 100점, PyPy3 제출: 🧐 Review: 서브테스크 1번을 맞춰서 50점을 받기는 쉽지만, 100점을 받기 위해서는 입력 값의 크기를 고려해서 시간 복잡도를 계산해야 한다. 문자열의 길이와 질문 개수 q는 최대 200,000으로 q번 동안 문자열 전체에 .. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 5. [BOJ_16433] 주디와 당근농장 📌 문제 링크: https://www.acmicpc.net/problem/16433 16433번: 주디와 당근농장 첫 번째 줄에 N, R, C (2 ≤ N ≤ 99, 1 ≤ R, C ≤ N) 가 주어집니다. www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 단순 구현 문제이지만 처음 문제를 읽었을 때 어떻게 풀어야 할지 잠시 고민이 된 문제였다. 좀 더 생각을 해보니 농장에 당근을 심는 경우는 R과 C의 합이 홀수 또는 짝수가 되는 2가지 경우밖에 존재하지 않는다는 것을 알았다. 그래서 그 결과를 check 변수에 담고 이중 반복문을 돌면서 check와 같은 결과인 경우에 당근을 심어주도록 코드를 작성했다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 11. 4. 이전 1 2 3 4 5 6 7 8 ··· 22 다음