BFS 너비 우선 탐색 - 코드 템플릿
·
🧇 Algorithm/이론
BFS 코드 def bfs(S, E): queue = [S] visited = [0] * (V + 1) visited[S] = 1 # 방문 표시: 거리 while queue: c = queue.pop(0) # 이 부분에서 정답 처리! if (정답 조건): return answer # 거리: visited[c] - 1 (시작 노드 제외) # 가능 여부: 1 for n in (탐색할 영역): # 연결된 노드, 4방향, 8방향, 조건 등 if visited[n] == 0: # 미방문 queue.append(n) visited[n] = 방문 표시 # 거리: visited[c] + 1 # 방문: 1 return 0 # 불가능 정답 조건 아래는 "(정답 조건)" 부분에 대한 코드를 구현한 것이다. # 도착 지점에 ..
99클럽 코데 스터디 1일차 TIL [프로그래머스] - 체육복
·
🧇 Algorithm/프로그래머스
Level 1 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solu..
19645: 햄최몇?
·
🧇 Algorithm/백준
19645번: 햄최몇? 문제 세 모질이들 관우, 철환, 길원이가 모였다. 모질이들은 모이면 서로 '햄버거 최대 몇 개 드실 수 있나요?'의 준말인 '햄최몇?'을 시전하며 자랑을 하기 바쁘다. 막내 길원이는 문득 중요한 사실을 깨달았다. 바로, 개수가 중요한 것이 아니라 최대 효용이 중요하다는 것이었다! 이들은 바로 N개의 햄버거를 준비했다. 그리고 이 햄버거를 사이좋게 나누어 먹었다. 각 모질이들이 얻을 수 있는 효용은 이들이 먹은 햄버거들의 효용의 합이다. 또한 나름의 서열과 규칙이 있어, 존경하는 선배님들보다는 높은 효용을 누려서는 안 된다. 막내 길원이는 선배님들을 존경하기 때문에 규칙을 따라야 하는 한편, 햄버거를 잘 분배하여 본인이 얻을 수 있는 효용이 최대가 되도록..
[프로그래머스] - 직업군 추천하기
·
🧇 Algorithm/프로그래머스
Weekly Challenge 4 Level 1 문제 설명 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부여한 표입니다. 점수 SI CONTENTS HARDWARE PORTAL GAME 5 JAVA JAVASCRIPT C JAVA C++ 4 JAVASCRIPT JAVA C++ JAVASCRIPT C# 3 SQL PYTHON PYTHON PYTHON JAVASCRIPT 2 PYTHON SQL JAVA KOTLIN C 1 C# C++ JAVASCRIPT PHP JAVA 예를 들면, SQL의 SI 직업군 언어 점수는 3점이지만 CONTENTS 직업군 언어 점수는 2점입니다..
[프로그래머스] - 상호 평가
·
🧇 Algorithm/프로그래머스
Weekly Challenge 2 Level 1 문제 설명 대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다. 아래는 0번부터 4번까지 번호가 매겨진 5명의 학생들이 자신과 다른 학생의 과제를 평가한 점수표입니다. No. 0 1 2 3 4 0 100 90 98 88 65 1 50 45 99 85 77 2 47 88 95 80 67 3 61 57 100 80 65 4 24 90 94 75 65 평균 45.5 81.25 97.2 81.6 67.8 학점 F B A B D 위의 점수표에서, i행 j열의 값은 i번 학생이 평가한 j번 학생의 과제 점수입니다. 0번 학생이 평가한 점수는 0번 행에담긴 [100, 90, 98, 88, 65]입니다. 0번 학생은 자기 자신에게 1..
[프로그래머스] - 모의고사
·
🧇 Algorithm/프로그래머스
Level 1 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 soluti..