전체 글
-
Baekjoon_17413_단어뒤집기2Algorithm/_Baekjoon 2023. 6. 6. 19:10
문제주소: https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net Python Python에서는 string과 list를 사용하여 해결하였다. import sys def main(): words: list = list(sys.stdin.readline().rstrip()) # 입력 string 선언 cur_word: list = [] n_start: int = 0 count: int = 0 while(count < le..
-
C++?Programming/_C++ 2023. 6. 5. 17:20
C++ 컴퓨터가 어떤 작업을 수행하기 위해서 그 작업에 대해 컴퓨터가 이해할 수 있게 해주어야 하며, 원래는 기계어(Machine code)로 프로그램을 만들어줘야 하지만, 기계어는 0과 1로 되어있기 때문에 기계어로 프로그램을 만드는 것은 너무나도 힘듭니다. 그렇기에 인간이 이해할 수 있는 프로그래밍 언어가 여러가지 고안되었으며, 대표적으로 C, C++, Python등이 있습니다. C++은 컴파일러(Compiler)를 사용하여 작성한 코드를 기계어로 번역해주는 프로그래밍 언어 입니다. CompilerC++을 기계어로 만드는 작업을 컴파일(Compile)이라고 부르며 컴파일러(Compiler)는 C++을 기계어로 만들어주는 소프트웨어입니다.컴파일은 사용하는 C++ 개발 환경에 따라 다르며, 컴파일이 완료..
-
Baekjoon_10866_덱Algorithm/_Baekjoon 2023. 5. 24. 19:00
문제주소: https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 이번에는 deque를 활용하는 문제다. 위의 조건들을 가진 코드는 다음과 같다. Python import sys from collections import deque def main(): num_repeat: int = int(sys.stdin.readline()) cmd: str number: int my_deque: deque[int] = deque() for i i..
-
Baekjoon_1158_요세푸스 문제Algorithm/_Baekjoon 2023. 5. 24. 17:29
문제주소: https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 요세푸스 문제에 대한 설명이 문제에도 있지만, 다음 링크를 보시면 조금 더 이해하기 쉬울 수 있습니다. 요세푸스: https://ko.wikipedia.org/wiki/%EC%9A%94%EC%84%B8%ED%91%B8%EC%8A%A4_%EB%AC%B8%EC%A0%9C 요세푸스 문제 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 전산학이나 수학에서 요세푸스 문제(Josephus problem) 혹은 요세푸스 순열(Josephus permutation)은 다..
-
Baekjoon_10845_큐Algorithm/_Baekjoon 2023. 5. 18. 22:27
문제주소: https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 이번 문제는 스택과 비슷하며 크게 어렵지 않습니다. Python list를 사용해도 크게 상관이 없지만, deque를 사용해보도록 하겠습니다. import sys from collections import deque def main(): num_repeat: int = int(sys.stdin.readline()) my_deque: deque = deque() for _..
-
Baekjoon_1406_에디터Algorithm/_Baekjoon 2023. 5. 17. 22:17
문제주소: https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 에디터 문제는 다음과 같습니다. 보기에는 크게 어려워 보이지 않아서 다음과 같이 풀었는데 실행은 되지만 시간초과가 됩니다. 아마 제가 리스트에서 사용한 insert()에서 O(n)만큼의 시간을 소요하기 때문에 0.3초 제한에 걸리는 것 같습니다. Python import sys def main(): my_string_list: list = list(sys.stdin.readline().r..
-
Baekjoon_1874_스택 수열Algorithm/_Baekjoon 2023. 5. 15. 16:31
문제주소: https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 스택 수열의 문제는 다음과 같습니다. 1. LIFO, FIFO 문제에서 LIFO(Last In First Out)가 언급되며 FIFO(First In First Out)도 함께 언급됩니다. (1) LIFO (Last in First Out) 후입선출 대표적으로 stack이 있으며 리스트의 한쪽 끝에서 데이..
-
Baekjoon_9012_괄호Algorithm/_Baekjoon 2023. 5. 14. 18:51
문제주소: https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 괄호 문제는 다음과 같습니다. 문제를 읽어보면 괄호가 올바르게 구성이 되었는지 확인하는 문제입니다. 저는 문제를 다음과 같이 풀었습니다. Python import sys num_repeat: int = int(sys.stdin.readline()) # 반복할 수 입력 for i in range(num_repeat): check_result: int = 0 ..