본문 바로가기

Algorithm(알고리즘)131

[Jungol][Java][stack] 1141 - 불쾌한 날 농부 시현이의 N(1≤N≤80,000)마리의 소들은 "bad hair day"를 맞이하였다. 각 소들이 자신들의 촌스런 머리 모양을 부끄러워 하자, 시현이는 소들이 다른 소들의 머리 모양을 얼마나 알 수 있는지를 알고자 했다. i번째 소들은 키가 hi(1≤hi≤1,000,000,000) 이며, 동쪽(오른쪽)을 바라보고 서있다. 따라서, i번째 소는 자신의 앞 ( i+1, i+2,...)의 소들의 머리 모양만 볼 수 있으며, 앞에 자신의 키보다 작은 소들만 볼 수 있다.​ 다음 예제를 고려해보자: ()의 숫자는 키를 나타낸다. 1번 소는 2,3,4번소의 머리 모양을 볼 수 있다. 2번 소는 어떤 소의 머리 모양도 볼 수 없다. 3번 소는 4번 소의 머리 모양을 볼 수 있다. 4번 소는 어떤 소의 머리 모양.. 2021. 2. 5.
[SWEA][Java][D3][시물레이션] 1873 - 상호의 배틀필드 swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LyE7KD2ADFAXc&categoryId=AV5LyE7KD2ADFAXc&categoryType=CODE&problemTitle=1873&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 풀이 이 문제는 삼성이 좋아하는 전형적인 시물레이션 문제이다. 삼성에서 A형 문제에서 시물레이션이 많이 나오니 상하좌우를 잘 사용하여 2차원 배열을 만지.. 2021. 2. 3.
[Java] [백준 14888][Recursive 완전탐색] 연산자 끼워넣기 www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 예를 들어, .. 2021. 2. 1.
[Java] [백준 1038][Brute-force] 감소하는 수 문제 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수이다. 만약 N번째 감소하는 수가 없다면 -1을 출력한다. 입력 첫째 줄에 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 N번째 감소하는 수를 출력한다. 문제 풀이 이 문제는 처음에 풀때 DP를 이용해서 풀다가 너무 복잡해져서 규칙을 적용하기가 힘들었다. 그런데 브루트 포스로 풀게 되면 순서와 상관없이 계속 넣을 수 있고 애초에 9876543210이 구할 수 있는 .. 2021. 1. 28.