목록2024/10 (15)
컴퓨터공학 💻 도서관📚
완전 탐색(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: #..
구현이란, 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다 구현 문제는 언어에 따라 난이도가 상대적으로 달라지는 경향이 있다 일반적으로 많은 기업 코딩테스트 문제에서는 2차원 공간에서의 처리를 요구한다. 시뮬레이션 및 완전 탐색 문제에서는 2차원 공간에서의 방향 벡터가 자주 활용된다 구현 유형, 완전 탐색 유형, 시뮬레이션 유형은 서로 유사한 점이 많다
그리디 알고리즘 정당성 분석 : 공포도가 낮은 애부터 그룹으로 만들면 최대가 나오겠다는 아이디어 이를 실현하기 위해 공표도가 낮은 얘들을 먼저 보고 싶으니까 '오름차순 정렬' 테크닉 사용 그룹을 만드는 방법 / 디테일 : '현재 그룹에 포함된 모험가의 수'가 '현재 확인하고 있는 공포도'보다 크거나 같다면 이를 그룹으로 설정 N = int(input())data = list(map(int, input().split())) # 한 줄에 여러 개의 정수를 입력받는 방법data.sort() # 파이썬에서 오름차순 정렬하는 법count =0 # 초기화group_num =0for i in data: count += 1 # 모든 경우가 ..
옛날에 배웠던 건데 자꾸 까먹어서 기본적인 형태 여기에 박제해두는 용도 // 내림차순 정렬for(i = 0; i // 오름차순 정렬for(i = 0; i arr[j]) { tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } }} 이해하는 방법 : i = 0 일 때:j 가 1 ~ n-1 까지 연산하면 i 는 안쪽 for문이 돌아갈 때 고정이기 때문에 arr[0] 에 가장 크거나/작은 수가 들어오게 된다 같은 방법으로 i = 1 일때, arr[1] 에는 2번째로 가장 크거나/작은 수가 들어오게 된다 이렇게 계속 진행을 하면 배열이 정렬이 된다.
sort() 함수는 기본적으로 리스트를 오름차순으로 정렬해주는 기능을 합니다.data = [2, 1, 3]data.sort()print(data)# 출력 결과 : [1, 2, 3]sort() 함수에는 reverse 옵션(매개변수)이 존재합니다. 디폴트는 sort(reverse=False) 인 게 디폴트여서 리스트가 오름차순으로 정렬이 되는 것이고 sort(reverse=True)로 변경하면 리스트가 내림차순으로 정렬이 됩니다.data = [2, 1, 4]data.sort(reverse = True)print(data)# 출력 결과 : [4, 2, 1] 참고) https://blockdmask.tistory.com/564 [python] 파이썬 sort 리스트 정렬 (오름차순, 내림차순)안녕하세..