Algotithms
-
문제 AAAA와 BB라는 폴리오미노 2개가 무한개 있다. '.' 과 'X'로 이루어진 보드판이 주어졌을 때 겹침없이 'X'를 모두 폴리오미노로 덮을 경우의 보드판 출력하기 경우의 수가 여러 개면 사전순으로 가장 앞서는 답을 출력하고 덮을 수 없으면 -1을 출력한다. 풀이 예외 처리 : '.'로 분리했을 때 XXX의 그룹이 홀수 길이면 보드를 채울 수 없다. '.' 이전까지 그룹화 했을 때 XX인 경우 BB로 바꾸고, XXXX..XX인 경우 적절히 보드를 채워준다. 마지막 그룹을 채워준다. string = input() # 예외 처리 for s in string.split('.') : if len(s) % 2 == 1 : print("-1") exit() prev = 0 answer = '' for i, ..
[백준] 1342 폴리오미노문제 AAAA와 BB라는 폴리오미노 2개가 무한개 있다. '.' 과 'X'로 이루어진 보드판이 주어졌을 때 겹침없이 'X'를 모두 폴리오미노로 덮을 경우의 보드판 출력하기 경우의 수가 여러 개면 사전순으로 가장 앞서는 답을 출력하고 덮을 수 없으면 -1을 출력한다. 풀이 예외 처리 : '.'로 분리했을 때 XXX의 그룹이 홀수 길이면 보드를 채울 수 없다. '.' 이전까지 그룹화 했을 때 XX인 경우 BB로 바꾸고, XXXX..XX인 경우 적절히 보드를 채워준다. 마지막 그룹을 채워준다. string = input() # 예외 처리 for s in string.split('.') : if len(s) % 2 == 1 : print("-1") exit() prev = 0 answer = '' for i, ..
2023.08.21 -
문제 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬이라고 한다. 문자열 s가 주어질 때, s의 부분문자열 중 가장 긴 팰린드롬의 길이를 리턴하기 1
[프로그래머스] 가장 긴 펠린드롬문제 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬이라고 한다. 문자열 s가 주어질 때, s의 부분문자열 중 가장 긴 팰린드롬의 길이를 리턴하기 1
2023.08.21 -
문제 자연수 N개로 이뤄진 중복 집합 중 최고의 집합 리턴하기 1) 각 원소의 합이 S가 되는 수의 집합 2) 위 조건을 만족하면서 각 원소의 곱이 최대가 되는 집합 예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있다. { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 } 그중 각 원소의 곱이 최대인 { 4, 5 }가 최고의 집합이 된다. 1
[프로그래머스] 최고의 집합문제 자연수 N개로 이뤄진 중복 집합 중 최고의 집합 리턴하기 1) 각 원소의 합이 S가 되는 수의 집합 2) 위 조건을 만족하면서 각 원소의 곱이 최대가 되는 집합 예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있다. { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 } 그중 각 원소의 곱이 최대인 { 4, 5 }가 최고의 집합이 된다. 1
2023.08.16 -
문제 1 ~ N번의 도시에 M개의 단방향 도로가 존재한다. 특정 도시 X번에서 출발해 도달할 수 있는 모든 도시 중 최단 거리가 정확히 K인 모든 도시의 번호 리턴하기 최단 거리가 K인 도시가 하나도 존재하지 않으면 -1을 출력 2
[백준] 18352 특정 거리의 도시 찾기문제 1 ~ N번의 도시에 M개의 단방향 도로가 존재한다. 특정 도시 X번에서 출발해 도달할 수 있는 모든 도시 중 최단 거리가 정확히 K인 모든 도시의 번호 리턴하기 최단 거리가 K인 도시가 하나도 존재하지 않으면 -1을 출력 2
2023.08.16 -
문제 네트워크 상에 컴퓨터들이 연결되어 있고, 한 컴퓨터가 바이러스에 걸리면 연결된 모든 컴퓨터는 바이러스에 걸리게 된다. 네트워크 상의 컴퓨터의 연결 정보가 주어질 때, 1번 컴퓨터를 통해 바이러스에 걸리게 되는 컴퓨터의 수 출력하기 1
[백준] 2606 바이러스문제 네트워크 상에 컴퓨터들이 연결되어 있고, 한 컴퓨터가 바이러스에 걸리면 연결된 모든 컴퓨터는 바이러스에 걸리게 된다. 네트워크 상의 컴퓨터의 연결 정보가 주어질 때, 1번 컴퓨터를 통해 바이러스에 걸리게 되는 컴퓨터의 수 출력하기 1
2023.08.16 -
문제 숫자가 N개 주어질 때, + 또는 -를 넣었을 때 만들 수 있는 올바른 등식의 수 구하기 마지막에는 등호 = 를 넣어야 한다. 왼쪽부터 계산할 때 중간에 나오는 수가 모두 0 이상 20 이하여야 한다. 예를 들어, 8 3 2 4 8 7 2 4 0 8 8 이 주어지면 등식 8+3-2-4+8-7-2-4-0+8=8 을 만들 수 있다. 3
[백준] 5557 1학년문제 숫자가 N개 주어질 때, + 또는 -를 넣었을 때 만들 수 있는 올바른 등식의 수 구하기 마지막에는 등호 = 를 넣어야 한다. 왼쪽부터 계산할 때 중간에 나오는 수가 모두 0 이상 20 이하여야 한다. 예를 들어, 8 3 2 4 8 7 2 4 0 8 8 이 주어지면 등식 8+3-2-4+8-7-2-4-0+8=8 을 만들 수 있다. 3
2023.08.16