반응형

백준 11

[Python][백준_1012] 유기농 배추 (BFS)

문제 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 풀이과정 아래의 예시로 설명을 해보겠습니다. 1 10 8 17 0 0 1 0 1 1 4 2 4 3 4 5 2 4 3 4 7 4 8 4 9 4 7 5 8 5 9 5 7 6 8 6 9 6 위의 경우를 arr 에 저장해보면 아래와 같은 결과가 나옵니다. (0은 생략) 한마리의 지렁이가 서로 붙어있는 배추들을 보호할 수 있기 때문에 아래와 같이 5마리의 지렁이로 모든 배추를 보호 할 수 있습니다. 아래의 코드로 보호되지 못한 배추의 위치를 찾고 def getPosition(N..

[Python][백준_2493] 탑

문제 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 풀이과정 처음에는 완전탐색으로 풀었더니 시간초과가 발생했다. N = int(input()) arr = list(map(int, input().split())) answer = [] for i in range(N): answer.append(0) for j in range(i-1, -1, -1): if arr[i] < arr[j]: answer[-1] = j+1 break for a in answer: print(a, end=" ") < Stack을 사용한..

[Python][백준_16918] 봄버맨 (구현)

🍋 문제링크 https://www.acmicpc.net/problem/16918 🍎 코드 제출 기록 (메모리 및 시간) 메모리 : 196844 KB 시간 : 928 ms 🥝 메모 폭탄이 들어있는곳의 문자는 숫자 0이 아니라 대문자 알파벳 O이었다는... 🍓 문제풀이 [ 순서 정리 ] 임의의 칸에 폭탄을 설치한다. - 3초 처음 1초 동안 아무것도 하지 않는다. 다음 1초 동안 폭탄이 설치되어 있지 않은 모든 칸에 폭탄을 설치하고 폭탄의 시간이 0이 된 폭탄은 폭발한다. 3번을 반복 [ 풀이순서 ] 입력받은 map을 통해 각 폭탄의 시간을 저장하고 있는 배열을 생성한다. → 처음에 들어있는 폭탄의 시간은 2로 입력 (처음 1초는 아무일도 하지 않기 때문에) N-1 초동안 아래의 과정을 반복 (처음 1초는 ..

코딩테스트(알고리즘) 준비/공부 사이트 추천

안녕하세요! daily_D 입니다! 오늘은 개발자가 되기위해서는 필수로 통과해야하는 관문인 코딩테스트를 준비할 수 있는 사이트를 추천드리려고 합니다! 다같이 열심히 공부하고 원하는 기업에 취업하시길 바랍니다 (ง •̀_•́)ง 아자아자 SW expert academy (삼성) https://swexpertacademy.com/main/code/problem/problemList.do SW Expert Academy 사이트는 삼성에서 직접 만들어 코딩연습을 할 수 있는 사이트로 난이도별 / 알고리즘별 분류를 통해 자신의 약점을 중점적으로 연습해 볼 수 있습니다. 또한 수시로 열리는 contest problem 도 참가할 수 있고 삼성전자 코딩테스트를 보지않고 바로 통과가 가능한 상시 sw역량테스트 신청 또..

[삼성/코테기출][Python][백준][14888] 연산자 끼워넣기 (완전탐색/백트래킹/순열)

🍋 문제링크 https://www.acmicpc.net/problem/14888 🍎 코드 제출 기록 (메모리 및 시간) 메모리 : 160196 KB 시간 : 4694 ms 🍉 Code N = int(input()) number = list(map(int, input().split())) operator = [] tmp = list(map(int, input().split())) for i in range(4): if tmp[i] > 0: if i == 0: for j in range(tmp[i]): operator.append("+") if i == 1: for j in range(tmp[i]): operator.append("-") if i == 2: for j in range(tmp[i]): oper..

[Python][백준][11057] 오르막 수 (DP)

🍋 문제링크 https://www.acmicpc.net/problem/11057 11057번: 오르막 수 🍎 코드 제출 기록 (메모리 및 시간) 메모리 : 123172 KB 시간 : 120 ms 🍉 Code N = int(input()) dp = [[0 for _ in range(19)] for _ in range(1009)] dp[1] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] for i in range(2, N+1): for j in range(10): if j == 0: dp[i][j] = sum(dp[i-1]) else: dp[i][j] = dp[i][j-1] - dp[i-1][j-1] print(sum(dp[N])%10007) 🥝 메모 DP[][] 배열을 2차원으로 선언 DP[x..

[Python][백준][1874] 스택 수열 (STACK)

🍋 문제링크 https://www.acmicpc.net/problem/1874 🍉 Code 메모리 : 143944 KB 시간 : 32 ms N = int(input()) arr=[] result=[] temp=[] for _ in range(N): arr.append(int(input())) j = 0 for i in range(1, N+1): temp.append(i) result.append('+') while (temp and temp[-1] == arr[j]): temp.pop() j += 1 result.append('-') if not temp: # 비어 있으면 for i in result: print(i) else: print("NO") 🥝 메모 문제 이해도 한참 걸림 → N이 push되면 ..

[Python][백준][5582] 공통 부분 문자열 (DP)

🍋 문제링크 www.acmicpc.net/problem/5582 🍎 코드 제출 기록 (메모리 및 시간) 메모리 : 248460 KB 시간 : 564 ms 🍉 Code answer = 0 str1, str2 = input(), input() #dp=[[0 for _ in range(len(str2) + 1)] for _ in range(len(str1) + 1)] dp=[[0] * (len(str2) + 1) for _ in range(len(str1) + 1)] for i in range(1, len(str1)+1): for j in range(1, len(str2)+1): if (str1[i-1] == str2[j-1]): dp[i][j] = dp[i-1][j-1] + 1 answer = max(dp[..

[C++][백준][2293] 동전 1 (DP)

🍋 문제링크 https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 🍎 코드 제출 기록 (메모리 및 시간) 메모리 : 1116 KB 시간 : 0ms 🍉 Code #include int main(){ int n, k; int arr[109], dp[20009]; scanf("%d %d", &n, &k); for(int i=0 ; i