목록전체 글 (104)
컴퓨터공학 💻 도서관📚
data = 'abcde'print[::-1] # 출력 결과: 'edcba' # 문자열을 거꾸로 출력하는 방법print[3:0:-1] # 출력 결과: 'dcb' # 주의할 점: 3번 인덱스부터 1번 인덱스까지(0번 까지가 아님) 역순으로 출력한다print[3::-1] # 출력 결과: 'dcba' # 가운데를 생략하면 0번 인덱스까지 역순으로 출력한다 다시 한 번 더 강조 : print[3 : 0 : -1] 이 코드는 3번 인덱스부터 1번 인덱스까지(0번 까지가 아님) 역순으로 출력한다 닫힌 구간 열린 구간
pop함수는 특정 인덱스 값을 매개변수로 입력받아서 해당 요소를 삭제 및 반환한다. a = [1, 2, 3]print(a.pop) # 출력 결과: 3 # a[2]인 3을 삭제 및 반환print(a) # 출력 결과: [1, 2] remove함수는 pop함수와는 다르게 인덱스가 아닌 삭제할 값을 매개변수로 입력받고 해당 요소를 삭제한다 data = [1, 2, 3]data.remove(3)print(data) # 출력 결과: [1, 2] index함수는 리스트에서 특정 데이터가 어느 위치(인덱스 값 / 순서 값)에 있는지를 반환한다중복된 데이터가 있을 경우, 처음 등장하는 위치를 반환한다 data = [1, 2, 3, 4, 3, 2]print(data.index(..
join 함수는 간단히 말해 리스트에 있는 요소들을 합쳐서 하나의 문자열로 바꾸어 주는 함수입니다. ''.join(리스트)data = ['a', 'b', 'c']result = ''.join(data)print(result) # 출력 결과: abc '구분자'.join(리스트)data = ['a', 'b', 'c']result = '_'.join(data)print(result) # 출력 결과: a_b_c
data = input()result = []value = 0# for + 리스트 연계 패턴 : 리스트의 각 요소를 확인해야 할 때for x in data: if x.isalpha(): # 파이썬 내장함수, 설명은 밑에 result.append(x) else: value += int(x)result.sort()if value != 0: result.append(str(value)) # 이런거 까먹지 말기 # 그냥 출력하면 리스트의 형태로 출력되는데print(''.join(result)) # join함수가 문자열의 형태로 바꿔준다 for + 리스트 연계 패턴 : for x in data:리스트의 각 ..
완전 탐색 유형 문제 input_data = input()row = int(input_data[1])column = int(ord(input_data[0])) - int(ord('a')) + 1 # 문자를 숫자로 바꾸는 테크닉# 완전탐색 유형 , # 나이트가 이동할 수 있는 8가지 방향 정의 , # 리스트 안에 있는 튜플steps = [ (-2,-1), (-1, -2), (1, -2), (2, -1), (2, 1), (1,2), (-1, 2), (-2, 1)]result = 0for step in steps: # for + 리스트 연계 next_row = row + step[0] next_column = column + step[1] if nex..
완전 탐색(Brute Forcing) 문제 유형 : 가능한 경우의 수를 모두 검사해보는 탐색 방법 파이썬h = int(input())count = 0for i in range(h + 1): # i는 0 ~ h 까지 for j in range(60): for k in range(60): if '3' in str(i) + str(j) + str(k): # in의 활용법 + str()함수 활용법 + 문자이므로 '+'기호 활용 count += 1print(count) C++ / Java 파이썬을 제외한 다른 언어에서는 3이 있는지 확인하는 코드를 따로 함수로 정의한다 함수에서는 2가지를 검사한다 1. 십의 자리에 3이 있는 경우..
n = int(input())x,y = 1, 1 # 이렇게 초기화하는 것도 가능하구나!plans = input().split() # 한 줄에 여러 문자를 입력받기dx = [0, 0, -1, 1] # 왼쪽부터 차례대로 L, R, U, Ddy = [-1, 1, 0, 0]move_types = ['L', 'R', 'U', 'D']for plan in plans: for i in range(len(move_types)): if plan == move_types[i]: # 같은 인덱스 번호로 저장했음을 이용 nx = x + dx[i] # 방향벡터 ny = y + dy[i] if nx n or ny > n: #..