반응형

Algorithm 247

[백준 알고리즘] 2853번: 배 (Python)

https://www.acmicpc.net/problem/2853 2853번: 배 해빈이는 배가 한 척이라도 올까 말까 한 작은 항구 마을에 산다. 그런데 어느 날, 마을을 방문한 적이 있는 모든 배가 한꺼번에 마을을 방문한 날이 있었다. 해빈이는 이 날을 기념해 1일로 센 www.acmicpc.net 소스코드 풀이 ★ 모든 배가 들어온 날로부터 그 다음에 들어오는 날들 사이의 간격을 기준으로 반복문을 돕니다. 주기를 기준으로 반복문을 돌면서, 그 주기에 들어온 배들이 있는 경우 리스트에서 제거해줍니다. ★ 방문한 배의 최소값을 구해줘야 하기 때문에, 주기에 들어온 배들을 전부 제거해주는 것입니다 !

Algorithm/백준 2023.06.28

[백준 알고리즘] 12018번: Yonsei TOTO (Python)

https://www.acmicpc.net/problem/12018 12018번: Yonsei TOTO 연세대학교 수강신청이 얼마 전부터 바뀌어, 마일리지 제도로 바뀌었다. 이 제도는 각각의 학생들에게 마일리지를 주어 듣고 싶은 과목에 마일리지를 과목당 1~36을 분배한다. 그리고 모두 분배 www.acmicpc.net 소스코드 풀이 ★ 주어진 마일리지를 가지고 과목을 최대로 수강하기 위해서는 과목을 수강할 수 있는 마지막 인원을 커트라인이라고 했을 때, 그 인원과 최소한으로 똑같은 마일리지를 사용해야 합니다. ★ 순서를 파악하기 위해서 과목마다 주어진 리스트를 오름차순 정렬해줍니다. 그 후, 주어진 마일리지에서 해당 과목을 듣기 위한 마일리지를 빼주는데, 만약 주어진 마일리지가 해당 과목을 듣기 위한 ..

Algorithm/백준 2023.06.27

[백준 알고리즘] 20115번: 에너지 드링크 (Python)

https://www.acmicpc.net/problem/20115 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net 소스코드 풀이 ★ 에너지 드링크의 양을 최대로 하기 위해서는 주어진 에너지 드링크들 중 가장 양이 적은 것과 큰 것을 합쳐준 뒤, 그 다음 양이 적은 것과 처음 합친 것을 다시 합하는 과정을 진행해주면 됩니다 ex) a = [2,3,6,9,10] ans = 11 a = [3,6,9,11] ans = 12.5 a = [6,9,12.5] ans = 15.5 a = [9,15.5] ans = 20

Algorithm/백준 2023.06.26

[백준 알고리즘] 1758번: 알바생 강호 (Python)

https://www.acmicpc.net/problem/1758 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net ' 소스코드 풀이 ★ 받을 수 있는 팁을 최대로 만들기 위해서는 "원래 주려고 하는 돈이 가장 높은 순서 + 입구에 들어가는 순서가 빠른 순서"가 되어야 합니다. ★ 해당 사람이 팁을 지불했다면, 팁을 리스트에서 삭제 해줘야 합니다 !

Algorithm/백준 2023.06.23

[백준 알고리즘] 6550번: 부분 문자열 (Python)

https://www.acmicpc.net/problem/6550 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net 소스코드 풀이 ★ 부분 문자열이 되기 위해서는 단순히 s의 알파벳이 t안에 들어있어야 한다만 성립하는 것이 아니라, 그 순서까지 일치해야 합니다 ! ex) person compression => s 안의 문자들이 t도 들어있지만, 순서가 일치하지 않기 때문에 합쳤을 때 부분 문자열이 될 수 없음 !

Algorithm/백준 2023.06.23

[백준 알고리즘] 15904번: UCPC는 무엇의 약자일까? (Python)

https://www.acmicpc.net/problem/15904 15904번: UCPC는 무엇의 약자일까? 첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 www.acmicpc.net 소스코드 풀이 ★ 입력받은 문자열을 UCPC로 만들기 위해서 축약을 진행해야 하는데, 축약을 했을 때 UCCPCC or UCPPPC와 같이 해당 문자열이 반복될 수도 있습니다. 그렇기에 그러한 부분들을 고려하여 풀이를 진행해야 합니다 ! ★ 입력받은 문자열을 읽으면서 해당 글자가 ucpc라는 리스트 안에 들어있는 글자들과 같은지 비교해줍니다. 이 때, ucpc 리스트의 첫번..

Algorithm/백준 2023.06.20

[백준 알고리즘] 18310번: 안테나 (Python)

https://www.acmicpc.net/problem/18310 18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net 소스코드 풀이 ★ 집들간의 거리를 알기 위해 주어진 집의 위치를 정렬했습니다. 일직선상에서 중앙에 가까운 값일수록 다른 점들의 거리가 가까워지는 것을 활용하여 문제를 풀었는데, n이 홀수일 때와 짝수일 때를 나눠서 결과값을 출력했는데, 홀수인 경우 인덱스가 0부터 시작하기에 n // 2의 인덱스를 가지고 있는 값을 출력하였고, 짝수인 경우엔 n-1 // 2의 값을 출력하였습니다 !

Algorithm/백준 2023.06.20
반응형