본문 바로가기

Algorithm144

[프로그래머스] 게임 맵 최단거리 / 파이썬 / BFS 💡solutions ) 💬 BFS 알고리즘을 통해 최단 경로를 찾는 문제 💬 이때 거리를 찾고, 또 이미 지났던 경로를 다시 방문하지 않기 위해 visit 배열을 만들어서 거리를 저장하기 👨‍💻code ) from collections import deque def solution(maps): answer = 0 dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] q = deque([(0, 0)]) visit = [[0]*len(maps[0]) for _ in range(len(maps))] visit[0][0] = 1 maps[0][0] = 0 while q: x, y = q.popleft() for k in range(4): nx, ny = x + dx[k], y + dy[k] if 0 2021. 10. 16.
[백준] 1244번 / 스위치 켜고 끄기 / 파이썬 / python 💡solutions ) 💬 문제 설명에서 주어진 정보를 코드로 구현하면 되는 시뮬레이션 문제 💬 남학생인 경우, 여학생인 경우 나눠서 처리하기 위해 if_boy, if_girl 함수 구현함 💬 마지막 출력에서 스위치 상태 출력이 20개가 넘는 경우 20개씩 끊어서 출력해야 하는 것을 주의해야 함 👨‍💻code ) import sys def if_boy(num, switch_state): for i in range(1, len(switch_state)+1): if i % num == 0: if switch_state[i-1]: switch_state[i-1] = 0 else: switch_state[i-1] = 1 def if_girl(num, switch_state): front = num-2 back .. 2021. 10. 14.
[백준] 10815번 / 숫자 카드 / 파이썬 / python 💡solutions ) 💬 딕셔너리 자료형 사용하여 문제를 해결함 💬 상근이가 가지고 있는 카드 리스트를 가지고 딕셔너리 형태로 만든다. key를 카드 번호, value에 몇장인지 값을 저장 💬 주어진 m개의 카드 리스트로 for 반복문을 돌며 위에서 만든 딕셔너리 key값으로 존재하는지 확인 후 존재하면 해당 value값을 answer 리스트에 저장하여 마지막에 출력한다. 👨‍💻code ) import sys input = sys.stdin.readline n = int(input()) n_list = sorted(list(map(int, input().split()))) m = int(input()) m_list = list(map(int, input().split())) n_dict = {} for.. 2021. 10. 13.
[프로그래머스] 신규 아이디 추천 / 파이썬 / python / 2021 KAKAO BLIND RECRUITMENT 💡solutions ) 💬 총 7단계까지 주어진 조건을 모두 구현하면 되는 시뮬레이션 문제다. 💬 해당 문제를 풀 때 주의해야 할 점은 문자를 제거하거나 슬라이싱할 때 문자열(해당 문제풀이에선 문자를 리스트에 저장하여 사용했음) 길이가 0이 아닌지, 인덱스 에러가 나지 않는지 확인해야 하는 것이다. 👨‍💻code ) def solution(new_id): # 1단계 new_id = new_id.lower() # 2,3단계 id_list = [] for i in new_id: if i.isalnum() or i in ['-', '_', '.']: if id_list: if i == '.' and id_list[-1] == '.': continue id_list.append(i) # 4단계 if id_lis.. 2021. 10. 9.
[프로그래머스] 위클리챌린지 / 1주차 / 부족한 금액 계산하기 / 파이썬 / python 💡solutions ) 💬 while 반복문을 돌며 해당 카운트별 이용료를 더해주고 마지막에 가지고 있는 money와 금액을 비교한다. 👨‍💻code ) def solution(price, money, count): required_money = 0 current_count = 1 while current_count money else 0 📌description ) 코딩테스트 연습 - 1주차_부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기.. 2021. 10. 8.
[백준] 2979번 / 트럭 주차 / 파이썬 / Python 👨‍💻code ) from abc import ABCMeta import sys input = sys.stdin.readline a, b, c = map(int, input().rstrip().split(' ')) time_table = [0]*101 for i in range(3): arrive, depart = map(int, input().rstrip().split(' ')) for j in range(arrive-1,depart-1): time_table[j] += 1 answer = 0 for k in time_table: if k == 1: answer += a*k elif k == 2: answer += b*k elif k == 3: answer += c*k print(answer) 📌des.. 2021. 10. 7.