본문 바로가기

백준 PS일지

(101)
[백준/Swift] 1541 : 잃어버린 괄호 BOJ_1541.swift 1541 : 잃어버린 괄호/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 1541 : 잃어버린 괄호 / 문제 소개 세준이가 만든 식이다. 여기에 우리가 괄호 "( , ) "를 추가해서 이 식의 값을 최소로 만드는게 이 문제의 핵심이다. 문제에서 주어졌듯 첫번째와 마지막 문자는 숫자이다!! 즉 첫번째가 음수인 경우를 신경써 주지 않아도 된다. 연속해서 2개 이상의 연산자도 나타나..
[백준/Swift] 1946 : 신입 사원 BOJ_1946.swift 1946 : 신입 사원/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 1946 : 신입 사원 / 문제 소개 진영 주식회사에서 신입사원을 뽑는다. 지원자는 N명이고 각 지원자 마다 서류심사 성적, 면접 시험 성적이 주어진다. 신입사원 채용 은 최대한 많이 하려고한다. 어떤 지원자 A의 성적이 다른 지원자 B의 성적(서류, 면접) 중 하나가 높거나 둘다 높다면 채용..
[백준/Swift] 1931 : 회의실 배정 BOJ_1931.swift 1931 : 회의실 배정/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 1931 : 회의실 배정 / 문제 소개 회의실은 단 한개. N개의 회의 중 최대 개수를 찾는 문제이다. N개의 회의가 있다. 회의는 한번 시작하면 중단x. 회의가 끝나자 마자 다음 회의가 시작될 수 있다. 회의 시작시간과 끝 시간이 같을 수 있다. 풀이 과정 Greedy문제로 이 문제를 풀었다. 간단하게 소개하자면 특정 순간에 당장 눈앞에 보이는 최적의 상황을 찾아 최종적인 해답에 도달하는 알고리즘 그리디 알고리즘을 어떻게 적용..
[백준/Swift] 17086 : 아기 상어2 BOJ_17086.swift 17086 : 아기 상어2/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/17086 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸과 상어의 수가 각각 한 개 이상인 입력만 www.acmicpc.net 17086 : 아기 상어2 / 문제 소개 N×M 크기의 공간에 " 1 " 로 표현된 아기 상어 여럿이 존재한다. 아기 상어한테 닿지 않는 최대 안전 거리를 구하는게 이 문제이다. 풀이 과정 완전 탐색으로 맵의 모든 0인 곳에서 아기 상어가 존재 " 1 " 인 지점까지 안전거리 탐색..
[백준/Swift] 11052 : 카드 구매하기 BOJ_11052.swift 11052 : 카드 구매하기/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 11052 : 카드 구매하기 / 문제 소개 예전에 dp문제를 풀 때 이 글을 보고 뒤로가기를 눌렀던 적이 있다. 민규 소비 스타일을 좀 바꿔야하는데 민규는 카드깡을 한다. 카드팩에 들어있는 카드에 따라 가격이 다르지만 같은 카드 N개를 구매 할 때 민규가 지불해야 하는 금액이 최대여야 한다... (이래야 좋은거 나..
[백준/Swift] 2133 : 타일 채우기 문제 완전 뿌수기!! BOJ_2133.swift 2133 : 타일 채우기 / 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 2133 : 타일 채우기 / 문제 소개 3*N 크기의 벽을 2*1 , 1*2 크기의 타일로 채우는 경우의 수를 구하는 문제입니다. 이 문제도 패턴이 있기 때문에 N이 증가함에 따라 이전에 구한 최대 경우의 수를 반복적으로 필요로 합니다. 풀이 과정 이 문제를 풀어나갈 때 N == 1 , 2 ,3 ,4 ... 30 까지의 경우가 있는데 dp배열 크기 : 31 인 Int형 배열에 n == 1 ~ N 일때 최대 값을 저장해 나..
[백준/Swift] 1904 : 01타일 BOJ_1904.swift 1904 : 01타일 / 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 1904 : 01타일 / 문제 소개 현재 있는 타일은 낱장 타일 1 낱장 두개 붙인 타일 00 총 2가지가 존재한다. 낱장 타일 0 은 존재하지 않으므로 01 , 10 은 만들 수 없다. 풀이 과정 이 문제를 풀어 나갈 때 규칙을 찾아야 합니다. N = 1 타일 1 만 사용할 수있습니다. dp[1] = 1 (최대) N ..
[백준/Swift] 11727 : 2×n 타일링 2 BOJ_11727.swift 11727 : 2xn 타일링2 / 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 11727 : 2xn 타일링2 / 문제 소개 2*n ( 1 2 { for i in 3...n { dp[i] = (dp[i-1] + 2*dp[i-2]) % 10007 } } print(dp[n]) } BOJ_11727() visit my github