분류 전체보기
-
Python_upper_lowerProgramming/_Python 2023. 6. 15. 23:11
코딩 테스트 문제를 준비하다보면 소문자를 대문자로, 대문자를 소문자로 바꾸는 문제가 간혹 보인다. 이를 Python에서 해결하는 몇가지 방법을 보자. 1. upper(), lower(), isupper(), islower() string.upper()는 문자열을 대문자로 변경하는 함수이다. my_string: str = "Test" upper_str: str = my_string.upper() print(my_string, upper_str) ## result: Test TEST string.lower()는 문자열을 소문자로 변경하는 함수이다. my_string: str = "Test" lower_str: str = my_string.lower() print(my_string, upper_str) ## ..
-
Python?Programming/_Python 2023. 6. 15. 21:48
파이썬은 1990년 암스테르담의 귀도 반 로섬이 고급 프로그래밍 언어이다. 파이썬은 간결하고 읽기 쉬운 문법이 특징이며, 주로 데이터 분석, 인공지능 등 다양한 분야에서 활용된다. 파이썬은 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어이다. - Interpreter 인터프린터 언어란 한 줄씩 소스 코드를 해석하고 실행하여 결과를 바로 확인할 수 있게 해주는 언어다. 코드를 기계어로 번역하는 컴파일러와 대비되며, 다음의 과정 중 한 가지 기능을 가진 프로그램이다. 소스 코드를 직접 실행 소스 코드를 효율적인 다른 중간 코드로 변환하고, 변환한 것을 바로 실행 인터프리터 시스템의 일부인 컴파일러가 만든, 미리 컴파일된 저장 코드의 실행을 호출 인터프리터 언어는 기계어 명령어들이 만들어지는 컴파일 단계를..
-
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..