코딩 테스트 연습 81

백준 15658번 연산자 끼워넣기 (2) (java)

[Silver II] 연산자 끼워넣기 (2) - 15658문제 링크성능 요약메모리: 38484 KB, 시간: 192 ms분류백트래킹, 브루트포스 알고리즘제출 일자2024년 7월 25일 03:55:36문제 설명N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 연산자의 개수는 N-1보다 많을 수도 있다. 모든 수의 사이에는 연산자를 한 개 끼워넣어야 하며, 주어진 연산자를 모두 사용하지 않고 모든 수의 사이에 연산자를 끼워넣을 수도 있다.우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된..

백준 10819번 차이를 최대로(java)

[Silver II] 차이를 최대로 - 10819문제 링크성능 요약메모리: 15248 KB, 시간: 180 ms분류백트래킹, 브루트포스 알고리즘제출 일자2024년 7월 23일 23:56:19문제 설명N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오.|A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]|입력첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.출력첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다...

백준 9663번 N-Queen(java)

[Gold IV] N-Queen - 9663문제 링크성능 요약메모리: 15468 KB, 시간: 7328 ms분류백트래킹, 브루트포스 알고리즘제출 일자2024년 7월 23일 05:16:08문제 설명N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다.N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. (1 ≤ N 출력첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다.풀이N*N 체스판 위에 퀸 N개를 서로 공격할 수 없게 두는 문제이다. 이 말은 퀸을 둘 때 퀸의 공격 범위 내에 다른 퀸이 존재하지 않는다면, 해당 칸에 퀸을 둘 수 있다는 얘기이다. 따라서 퀸의 공격 범위 내에 다른 퀸이 존재..

백준 14889번 스타트와 링크 (java)

[Silver I] 스타트와 링크 - 14889문제 링크성능 요약메모리: 18120 KB, 시간: 348 ms분류백트래킹, 브루트포스 알고리즘제출 일자2024년 4월 7일 21:23:01문제 설명오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이고 신기하게도 N은 짝수이다. 이제 N/2명으로 이루어진 스타트 팀과 링크 팀으로 사람들을 나눠야 한다.BOJ를 운영하는 회사 답게 사람에게 번호를 1부터 N까지로 배정했고, 아래와 같은 능력치를 조사했다. 능력치 Sij는 i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치이다. 팀의 능력치는 팀에 속한 모든 쌍의 능력치 Sij의 합이다. Sij..

백준 1182번 부분수열의 합 (java)

[Silver II] 부분수열의 합 - 1182 문제 링크 성능 요약 메모리: 14228 KB, 시간: 136 ms 분류 백트래킹, 브루트포스 알고리즘 제출 일자 2024년 3월 30일 17:40:34 문제 설명 N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. 출력 첫째 줄에 합이 S가 되는 부분수열의 개수를 출력한다. 풀이 부분수열을 모두 찾고 부분수열의 합과 S값이..

백준 14620번 꽃길 (java)

[Silver II] 꽃길 - 14620 문제 링크 성능 요약 메모리: 18532 KB, 시간: 204 ms 분류 브루트포스 알고리즘 제출 일자 2024년 3월 24일 20:17:12 문제 설명 2017년 4월 5일 식목일을 맞이한 진아는 나무를 심는 대신 하이테크관 앞 화단에 꽃을 심어 등교할 때 마다 꽃길을 걷고 싶었다. 진아가 가진 꽃의 씨앗은 꽃을 심고나면 정확히 1년후에 꽃이 피므로 진아는 다음해 식목일 부터 꽃길을 걸을 수 있다. 하지만 진아에게는 꽃의 씨앗이 세개밖에 없었으므로 세 개의 꽃이 하나도 죽지 않고 1년후에 꽃잎이 만개하길 원한다. 꽃밭은 N*N의 격자 모양이고 진아는 씨앗을 (1,1)~(N,N)의 지점 중 한곳에 심을 수 있다. 꽃의 씨앗은 그림 (a)처럼 심어지며 1년 후 꽃이..

백준 19637번 IF문 좀 대신 써줘

[Silver III] IF문 좀 대신 써줘 - 19637 문제 링크 성능 요약 메모리: 47040 KB, 시간: 492 ms 분류 이분 탐색 제출 일자 2024년 3월 14일 15:30:49 문제 설명 게임 개발자인 밀리는 전투력 시스템을 만들어, 캐릭터가 가진 전투력을 기준으로 칭호를 붙여주려고 한다. 예를 들어, 전투력 10,000 이하의 캐릭터는 WEAK, 10,000 초과 그리고 100,000 이하의 캐릭터는 NORMAL, 100,000 초과 그리고 1,000,000 이하의 캐릭터는 STRONG 칭호를 붙여준다고 하자. 이를 IF문으로 작성한다면 아래와 같이 구현할 수 있다. if power

백준 2503번 숫자야구

[Silver III] 숫자 야구 - 2503 문제 링크 성능 요약 메모리: 14420 KB, 시간: 132 ms 분류 브루트포스 알고리즘, 구현 제출 일자 2024년 3월 9일 01:14:28 문제 설명 정보문화진흥원 정보 영재 동아리에서 동아리 활동을 하던 영수와 민혁이는 쉬는 시간을 틈타 숫자야구 게임을 하기로 했다. 영수는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 마음속으로 생각한다. (예: 324) 민혁이는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 영수에게 묻는다. (예: 123) 민혁이가 말한 세 자리 수에 있는 숫자들 중 하나가 영수의 세 자리 수의 동일한 자리에 위치하면 스트라이크 한 번으로 센다. 숫자가 영수의 세 자리 수에 있긴 하나 다른 자리..

백준 3085번 사탕게임

[Silver II] 사탕 게임 - 3085 문제 링크 성능 요약 메모리: 14524 KB, 시간: 192 ms 분류 브루트포스 알고리즘, 구현 제출 일자 2024년 3월 7일 20:23:42 문제 설명 상근이는 어렸을 적에 "봄보니 (Bomboni)" 게임을 즐겨했다. 가장 처음에 N×N크기에 사탕을 채워 놓는다. 사탕의 색은 모두 같지 않을 수도 있다. 상근이는 사탕의 색이 다른 인접한 두 칸을 고른다. 그 다음 고른 칸에 들어있는 사탕을 서로 교환한다. 이제, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행 또는 열)을 고른 다음 그 사탕을 모두 먹는다. 사탕이 채워진 상태가 주어졌을 때, 상근이가 먹을 수 있는 사탕의 최대 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 보드의 크기 ..

백준 10816번 숫자 카드2

성능 요약 메모리: 165240 KB, 시간: 1616 ms 분류 이분 탐색, 자료 구조, 해시를 사용한 집합과 맵, 정렬 제출 일자 2024년 2월 10일 19:59:33 문제 설명 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째..