[백준] 1946번 신입 사원 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 풀이 신입사원으로 입사하기 위해서는 서류 성적, 면접 성적 둘 중에 하나라도 다른지원자한테 지면 안된다. 적어도 하나는 다른 지원자를 이겨야 신입사원이 될 수 있다. 고로 서류심사 성적으로 정렬해준 뒤 면접 성적으로 비교를 해준다. 서류심사 성적이 낮은 지원자는 자신보다 높은 서류심사 성적을 가진 지원자의 면접 성적을 앞서야한다. 서류심사 성적 순으로 정렬하기 위해 .sort..
[백준] 11399번 ATM - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 풀이 가장 적은 시간의 통화를 앞세워서 통화를 시켜주면 최솟값을 구할 수 있다. 반복가능객체.sort()를 통해 오름차순으로 정렬해준 뒤 계산을 해주면 된다. # 11399번 ATM # 제일 적은 수가 가장 많이 더해져야한다. N = int(input()) num = list(map(int, input().split())) num.sort() count = 0 answer = 0 for i in num: count += i a..
[백준] 12845번 모두의 마블 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/12845 12845번: 모두의 마블 영관이는 게임을 좋아한다. 별의별 게임을 다 하지만 그 중에서 제일 좋아하는 게임은 모두의 마블이다. 어김없이 오늘도 영관이는 학교 가는 버스에서 캐릭터 합성 이벤트를 참여했다. 이번 이 www.acmicpc.net 풀이 카드 합성을 통해 레벨만큼 골드를 벌 수 있다. 이 문제의 목표는 합성으로 벌 수 있는 골드의 최대값을 구하는 것이다. 카드 합성의 조건 1, 합성하려면 두 카드는 인접해야만 한다. 2, 업그레이드 된 카드의 레벨은 바뀌지 않는다. 주어진 카드 중 레벨이 제일 높은 카드를 찾아서 그 카드를 카드 A로 두고 나머지를 카드 B로 몰아서 합성해주면 된다. 아래 풀이에는 내림차순으로 리스트를 정렬해서..
[자바스크립트] 자바스크립트를 왜 배워야하는가.
·
Dev Lang/JavaScript
자바스크립트 왜 배우고 싶은가 프론트엔드 개발에 유용하게 사용이 가능한 언어이며 웹 개발자라면 꼭 익혀둬야하는 언어라고 생각한다. 기존에 리액트나 뷰로 프론트엔드 개발자에게 유용하게 쓰이는 언어이지만 Node.js 사용으로 백엔드까지 사용이 가능해진 언어이다. 대학교 2학년내에 웹 개발 관련 프로젝트 참여를 하고 싶어서 자바스크립트 공부를 시작했다. 개발자 대형 커뮤니티인 스택오버플로우에서는 개발자를 대상으로 매년 설문조사가 열린다. 설문조사 결과를 보면 많은 사람들이 자바스크립트를 선호하고 있는것을 알 수 있다. 웹 프레임워크 사용 비중 자바스크립트는 다양한 언어와의 협업이 가능하다 자세한 내용은 아래 링크에서 확인이 가능하다.https://insights.stackoverflow.com/survey/..
[백준] 10610번 30 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 풀이 30의 배수는 주어진 수의 각자리수를 더해서 3으로 나누어지면서 끝자리가 무조건 0이어야하는 수여야한다는 정보만 안다면 쉽게 풀 수 있는 문제이다. iterable 자료형.sorted(N, reverse=True) 오름차순으로 정렬될 문자를 내림차순으로 바꾸어준다. 문제에서는 주어진 숫자를 이용해서 만들 수 있는 최대값이다. # 10610번 30 # 30의 배수는 각 자리수를 더해서 3의 배수..
[백준] 14502번 연구소 - 파이썬
·
백준/DFS&BFS
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 N: 지도의 세로 크기, M: 지도의 가로 크기, 지도좌표 값(바이러스(2), 벽(1)) 실버문제들 중에서도 흔히 볼 수 있는 바이러스나, 토마토 문제처럼 특정한 값을 가진 칸에 인접한 칸들에게 영향을 주는 문제이다. 나는 이런 문제가 나올 때마다 BFS를 써준다. 다만 이 문제가 껄끄러운 이유는 벽을 어떻게 세워야 최대안전영역이 나오는가이다. 따라서 우리는 벽을 세울 수 있는 모든 경우의 수를 구해서 ..
[백준] 2875번 대회 or 인턴 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/2875 2875번: 대회 or 인턴 첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N), www.acmicpc.net 풀이 N: 여자 학생 수 M: 남자 학생 수 K: 인턴쉽에 참가해야하는 인원 팀을 만들려면 여자 2명, 남자 1명이 필요하다 대신 팀을 만들고나서 남은 인원들이 K명 이상이어야한다. # 2875번 대회 or 인턴 # N: 여자 학생 수 M: 남자 학생 수 K: 인턴쉽을 가야하는 학생 수 N, M, K = map(int, input().split()) cnt = 0 # 팀의 개수 while N >= 2 and M >= 1: # 한팀을 만들려면 여자는 2명이상 남자는 ..
[백준] 2110번 공유기 설치 - 파이썬
·
백준/다이내믹 프로그래밍
https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 풀이 알고리즘은 이진탐색으로 문제를 풀어야 시간초과가 걸리지않는 문제이다. 목표는 공유기를 설치한 집들 중 가장 가까운 집들의 거리의 최대값을 구하는 문제이다. 우선 가볍게 생각해보자 x좌표가 1인 집에서 간격이 5인 집의 x좌표는 몇일까? 당연히 6이다. 이 당연한 논리를 가지고 문제를 풀어볼 것이다. 간격을 이진탐색으로 선택하여 값의 조건을 ..
개발자 성현
개발새발 블로그