본문 바로가기

분류 전체보기233

[Python] 수식 최대화 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 풀이 우선 정규표현식을 사용하여 숫자와 연산자를 분리하고 사용된 연산자를 구하였습니다. 다음으로 사용된 연산자에 대해 만들 수 있는 모든 우선순위의 경우들을 순열을 사용하여 만들었습니다. 그다음 만들어둔 숫자와 연산자가 담긴 리스트를 복사해서 우선순위대로 계산을 하여 절댓값을 했을 때 최대인 값을 선택하게 하여 해결했습니다. 코드 import re from itertools import permutations def solution(expression): an.. 2021. 3. 28.
[Python] 튜플 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 풀이 문제를 잘 보면 모든 집합에서 각 숫자를 카운트해보면 가장 많이 나온 숫자가 튜플에서 맨 첫 번째의 원소가 되고 두 번째로 많이 나온 숫자가 튜플에서 두 번째 원소가 됩니다 이를 이용해서 문자열을 처리하고 딕셔너리를 사용하여 해결했습니다. 이때, 문자로만 처리했기때문에 마지막에 map함수를 사용해서 정수형으로 바꾸어주어야 하고 카운트한 숫자가 높은 순 이므로 내림차순 정렬을 해야 합니다. 코드 def so.. 2021. 3. 27.
[Java] 백준 11726번 2xn 타일링 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 풀이 DP를 이용해서 1x2 타일을 두는경우와 2x1 타일을 두는경우를 구해 10007로 나눈 나머지를 출력하여 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static int n; public static int[] memo = new int[1001]; public final static int.. 2021. 3. 26.
[Java] 백준 9095번 1, 2, 3 더하기 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 풀이 DP를 사용해서 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static int T, n; public final static int N = 12; public static int[] memo = new int[N]; public static void main(String[] args) throws NumberFormatException, IOException { Bu.. 2021. 3. 25.
[Java] 백준 2839번 설탕 배달 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 DP를 사용하여 해결했습니다. N까지의 최소의 수를 구해야하기때문에 memo 배열을 Integer.MAX_VALUE로 초기화하여 만약 아무런 봉지를 선택안하거나 둘 중 하나만 선택하는 경우에서 잘못된 값이 들어가지 않게 했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class .. 2021. 3. 24.
[Java] SWEA 3289번 서로소 집합 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 크루스칼 알고리즘을 사용하여 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { public static int N, M; public static int[] parents; public static void main(String[] args) throws IOException { BufferedReader br = new .. 2021. 3. 23.