-
[python]Algo - 구현🔑파이썬/알고리즘 공부 2021. 10. 21. 19:29728x90
구현🚓
❓모함가 길드 문제
문제

<문제>
✅코드
n = int(input()) data = list(map(int, input().split())) data.sort() print(data) result = 0 count = 0 for i in data: count += 1 if count >= i: result += 1 count = 0 print(result) result = 0 count = 0✅문제 접근법
- 오름차순 정률 이후에 공포다 가장 낮은 모험가부터 하나씩 확인
- 앞에서부터 공포도를 하나씩 확인하며 '현재 그룹에 포함된 모험가의 수'가 '현재 확인하고 있는 공포도'보다 크거나 같다면 이를 그룹으로 설정
이행렬 감 잡기 위한 구현
✅코드
for i in range(5): for j in range(5): print('(', i, ',', j, ')', end = '') print() ( 0 , 0 )( 0 , 1 )( 0 , 2 )( 0 , 3 )( 0 , 4 ) ( 1 , 0 )( 1 , 1 )( 1 , 2 )( 1 , 3 )( 1 , 4 ) ( 2 , 0 )( 2 , 1 )( 2 , 2 )( 2 , 3 )( 2 , 4 ) ( 3 , 0 )( 3 , 1 )( 3 , 2 )( 3 , 3 )( 3 , 4 ) ( 4 , 0 )( 4 , 1 )( 4 , 2 )( 4 , 3 )( 4 , 4 ) # 그냥 이해를 돕기위한 형식으로 뽑아봅 ============================================= 방향잡기 # 위에 숫자가 뽑히는 형태를 보면 어렵지 않게 이해가능하다 #ex) (2,2)에서 오른쪽으로 이동할경우(2, 3) == y가 1증가 #ex) (2,2)에서 왼쪽으로 이동할경우(2, 1) == y가 1감소 동 서 남 북 dx = [0, 0, 1,-1] dy = [1,-1, 0, 0] x, y = 2, 2 for i in range(4): nx = x + dx[i] ny = y + dy[i] print(nx, ny) ================================================= n = int(input()) x, y = 1, 1 plans = input().split() dx = [0, 0, -1, 1] dy = [-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 < 1 or ny < 1 or nx > n or ny > n: continue x, y = nx, ny print(x, y) print(x, y) #=============================== # R R R D D (위, 위, 위, 아래, 아래로 입력할 경우) 1 2 1 3 1 4 2 4 3 4 3 4 ex> 5 , R, R, R, D, D ===> 3, 5알파벳 정렬 및 숫자 맨뒤에 추가
문제

✅코드
data = input("숫자를 입력하세요:") result = [] value = 0 for i in data: if i.isalpha(): result.append(i) else: value += int(i) result.sort() if value != 0: result.append(str(value)) print(''.join(result))✅문제 접근법
- data 안에 있는 모든 문자열들은 돌면서 숫자가 아닐경우 result에 담아준다
- 숫자일 경우 그 값을 value에 누적 시켜준다.
- 문자형으로 변환하여 맨뒤에 넣어준후 join을 이용하여 결합하면 된다
'파이썬 > 알고리즘 공부' 카테고리의 다른 글
[python] 🏑프로그래머스 조이스틱 🏑 (0) 2021.10.27 [python] 🚨 다이나믹 프로그래밍 (0) 2021.10.26 [python]Algo-Greedy💢 (0) 2021.10.21 playdataAlgo shortestPath(최단경로)🚀 (0) 2021.09.14 playdataAlgo[백준]풍선터트리기🎈 , [프로그래머스]카펫📜 (0) 2021.09.06