전체 글326 [BOJ_2161] 카드 1 문제 링크: https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 내 풀이: Review: deque을 사용하면 쉽게 해결할 수 있는 문제이다. Idea: 1~N까지의 수를 덱에 넣는다. 덱에서 가장 앞에 있는 원소를 꺼내 출력한다. 그다음 원소를 꺼내 덱의 마지막 원소로 추가한다. 이 과정을 덱에 원소가 하나 남을 때까지 반복한다. 덱에 원소가 하나 남으면 해당 원소를 출력한다. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 29. [BOJ_1919] 애너그램 만들기 문제 링크: https://www.acmicpc.net/problem/1919 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net 틀린 풀이 1: 틀린 풀이 2 - 런타임 에러(KeyError): 맞은 풀이: Review: 두 번 틀렸을 때 dic1과 dic2에서 각각 key를 뽑아낼 필요 없이 dic1에서만 key를 뽑고 해당 키로 dic1과 dic2에서 알파벳의 개수를 뽑아내면 된다는 것을 확인했다. 해당 부분을 적용해서 풀이를 제출했을 때 런타임 에러가 발생했는데 이 부분은 if 조.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 28. [BOJ_11328] Strfry 문제 링크: https://www.acmicpc.net/problem/11328 11328번: Strfry C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래 www.acmicpc.net 내 풀이: Review: 처음에는 C언어의 Strfry 함수의 기능을 구현하려고 함수를 만들까 생각해봤지만, 더 복잡하게 푸는 방법 같아서 for 반복문 안에서 검증을 끝내고 그때마다 Impossible 또는 Possible을 출력하도록 풀이를 생각했다. 처음 문제를 접했을 때 count() 내장 함수를 사용해서 각 알파벳의 개수를 세고, 리스트나 딕셔너리에 저장해.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 28. [BOJ_10807] 개수 세기 문제 링크: https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 내 풀이: Review: 문제를 해결하는 방법은 여러 가지가 있다고 생각한다. 나는 이 문제를 보자마자 count()를 사용해서 해결해야겠다고 생각했고, 문제를 풀고 나서 다른 사람의 풀이를 찾아봤는데 내 방법과는 다르게 반복문을 사용해서 풀이한 예도 꽤 있었다. 어떤 풀이가 더 좋다는 것을 말하려는 것은 아니지만 보다 짧은 코드로 같은 결과를 구현했다는 것에 기분이 좋았.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 28. [BOJ_1267] 핸드폰 요금 문제 링크: https://www.acmicpc.net/problem/1267 1267번: 핸드폰 요금 동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 내 풀이: Review: 문제에서 영식 요금제 기준 30초마다 10원씩 청구된다고 적혀 있고, 29초 일 때 10원이 청구되고, 30초는 20원이 청구된다고 한다. 이 부분을 잘못 생각해서 30초까지 10원이고, 31원부터 20원이라고 잘못 생각해서 문제를 2번 틀렸다. 왜 그렇게 생각했는지 모르겠지만 문제의 풀이 방법을 연습장에 적는 과정에서 잘못 생각했던 것 같다. 문제가 쉬워 보인다고 .. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 28. [BOJ_1267] 핸드폰 요금 문제 링크: https://www.acmicpc.net/problem/1267 1267번: 핸드폰 요금 동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 내 풀이: Review: 문제에서 영식 요금제 기준 30초마다 10원씩 청구된다고 적혀 있고, 29초 일 때 10원이 청구되고, 30초는 20원이 청구된다고 한다. 이 부분을 잘못 생각해서 30초까지 10원이고, 31원부터 20원이라고 잘못 생각해서 문제를 2번 틀렸다. 왜 그렇게 생각했는지 모르겠지만 문제의 풀이 방법을 연습장에 적는 과정에서 잘못 생각했던 것 같다. 문제가 쉬워 보인다고 .. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 27. [BOJ_10804] 카드 역배치 문제 링크: https://www.acmicpc.net/problem/10804 10804번: 카드 역배치 1부터 20까지 오름차순으로 놓인 카드들에 대해, 입력으로 주어진 10개의 구간 순서대로 뒤집는 작업을 했을 때 마지막 카드들의 배치를 한 줄에 출력한다. www.acmicpc.net 내 풀이: Review: 리스트 슬라이싱한 것을 다시 슬라이싱 하는 부분이 재미있었다. join()의 사용법도 사용할 때마다 잊어버렸는데 이번 문제를 통해 눈도장을 제대로 찍어둔 것 같다. 처음 문제를 접했을 때 문제에서 주어진 구간의 수를 뒤집는 것을 중간 결괏값만 보고 내림차순 정렬로 잘못 파악했었다. 문제 풀이를 시작하기 전에 문제를 제대로 읽고 문제에서 요구하는 조건과 구해야 하는 것을 명확히 구분해서 인지하는.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 27. [BOJ_10993] 숫자 문제 링크: https://www.acmicpc.net/problem/10093 10093번: 숫자 두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오. www.acmicpc.net 실패한 첫 풀이: 통과한 풀이: Review: 코드 자체의 구현은 정말 쉽다. 하지만 이 문제를 5번이나 틀렸다.ㅠㅠ 그 이유는 입력값으로 주어진 a, b가 같은 숫자일 때는 처음 내 풀이로는 두 수의 사이의 수가 -1이 나왔기 때문이다. 이 문제를 통해 앞으로는 입력값으로 주어진 조건을 좀 더 꼼꼼히 점검해야겠다. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 27. [BOJ_9613] GCD 합 문제 링크: https://www.acmicpc.net/problem/9613 9613번: GCD 합 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진 www.acmicpc.net 처음 풀이: 개선된 풀이: Review: 위의 처음 풀이를 통해 한 번에 문제를 해결했고, 다른 사람들의 코드를 비교해보며 개선점을 찾았다. 파이썬의 combinations 모듈을 사용한다면 문제의 입력값 중에 두 번째 라인부터 주어진 수의 개수 n은 필요가 없으므로 첫 번째 풀이에서는 del을 사용해서 지워준 것을 볼 수 있다. 하지만 이 부분을 개선된 코드처.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 26. [BOJ_1850] 최대공약수 문제 링크: https://www.acmicpc.net/problem/1850 1850번: 최대공약수 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A www.acmicpc.net 내 풀이: Review: 구현의 아이디어까지 어렵지 않은 문제이지만 코드를 제출했을 때 시간 초과를 3번이나 받았다... 그래서 어떻게 하면 시간을 단축할 수 있을지 고민해봤다. 먼저 최대공약수를 구하는 함수를 내장 함수 gcd()로 바꿔보기도 하고, 다음으로 두 수의 대소 비교를 통해 튜플의 값을 서로 교환하는 과정도 추가하고, 결론적으로는 구한 최대공약수를 i.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 26. 이전 1 ··· 26 27 28 29 30 31 32 33 다음