본문 바로가기

알고리즘?/기본3 탐색&시뮬레이션(string, 1차원 2차원 리스트 탐색)12

4. 두 리스트 합치기 문제 설명 n번의 비교만으로 풀어낼 수 있는 방법이 있는 문제였다.(방법 까다롭다.) sort 정렬 사용하면 8log8 이다.(nlogn) *본 문제는 인프런 김태원 강사님의 파이썬 알고리즘 문제풀이 강의에 기반합니다. [문제 두 리스트 합치기 ] 오름차순으로 정렬이 된 두 리스트가 주어지면 두 리스를 오름차순으로 합쳐 출력하는 프로그램을 작성하세요. -입력설명 첫번째 줄 세번째 줄에 각 리스트의 크기가 주어집니다. 두 번째 줄, 네번째 줄에는 리스트 크기만틈의 원소가 오름차순으로 주어집니다. -출력설명 오름차순으로 정렬된 리스트를 출력합니다. -입력예제1 3 1 3 5 5 2 3 6 7 9 -출력예제1 1 2 3 3 5 6 7 9 풀이 두개의 리스트를 리스트로 받아서 더하기로 합쳐서 sort 로 호출하.. 2023. 5. 9.
3. 카드 역배치(정올 기출) (pop) [문제 설명] 1. 두 변수의 값을 교환 2. a=list(range(21)) #[1, 2, 3, ...20] *두 변수의 값을 교환 import sys sys.stdin=open("input.txt", "rt") a, b=map(int, input().split()) print('a:%d b:%d' %(a, b)) a, b=b, a print('a:%d b:%d' %(a, b)) pop() a=list(range(10)) print(a) a.pop() print(a) a.pop(0) print(a) a.pop(3) print(a) *본 문제는 인프런 김태원 강사님의 파이썬 알고리즘 문제풀이 강의에 기반합니다. [문제 점수계산 ] 1부터 20까지 숫자가 하나씩 쓰인 20장의 카드가 아래 그림과 같이 오름.. 2023. 5. 8.
2. 숫자만 추출 (isdecimal, isdigit) , 숫자화 시키는 방법 # string 을 하나씩 출력하기 import sys sys.stdin=open("input.txt", "r") # string으로 받는 것 s=input() #문자열의 문자 하나 하나가 된다. for x in s: print(x, end=' ') 문자열이 숫자인지 확인하는 함수 *isdecimal 설명 str.isdecimal() 문자열 내의 모든 문자가 십진수 문자이고 적어도 하나의 문자가 존재하면 True/그렇지 않으면 False 반환 *isdigit 설명 isdigit는 string 클래스에 있는 메서드입니다. str.isdigit() 문자열이 '숫자'로만 이루어져있는지 확인하는 함수이다. 문자열이 모두 숫자로만 이루어져 있으면 True반환 문자가 하나라도 있으면 False 반환합니다. *본 문.. 2023. 5. 8.
1. 회문 문자열 검사 (문자열 뒤집기) *파이썬 인덱스 예) 크기가 5인 리스트 a[0] a[1] a[2] a[3] a[4] a[-5] a[-4] a[-3] a[-2] a[-1] print(s[-1]) *문자열 슬라이싱으로 뒤집기 문자열[시작:끝] 문자열을 앞에서부터 하나씩 슬라이싱 해서 새로운 문자열을 만든다. 문자열[시작:끝:규칙] 규칙은 슬라이싱을 하는 규칙입니다. 1이 디폴트값이며, 1이 들어가게 되면 문자열을 앞에서부터 하나씩 잘라서 새로운 문자열을 만드는 것이다. -1 을 넣어 뒤에서부터 잘라서 문자열을 뒤집을 수 있다. print(s[::-1]) import sys sys.stdin=open("input.txt", "r") n=int(input()) for i in range (0,n): # 문자열이 s에 들어온것 s=input(.. 2023. 5. 8.