PS

About problem solving

[Programmers] 쇠막대기

Problem Link: Lv2. 쇠막대기 문제 설명 여러 개의 쇠막대기를 레이저로 절단하려고 합니다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자릅니다. 쇠막대기와 레이저의 배치는 다음 조건을 만족합니다.

아래 그림은 위 조건을 만족하는 예를 보여줍니다. 수평으로 그려진 굵은 실선은 쇠막대기이고, 점은 레이저의 위치, 수직으로 그려진 점선 화살표는 레이저의 발사 방향입니다. 이러한 …

[Programmers] 쇠막대기 더 보기 »

[Programmers] 하노이의 탑

Problem Link : Lv3. 하노이의 탑 문제 설명 하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 …

[Programmers] 하노이의 탑 더 보기 »

[TopCoder] DiamondLogo

문제 원문 https://arena.topcoder.com/#/u/practiceCode/1344/1782/1910/1/1344     2.  문제 요약 문제는 전통적인 별찍기와 비슷한 문제이다. 대각선의 길이가 주어지면, 대각선을 길이를 기준으로 X를 찍고 안쪽은 공백을, 나머지는 주어진 문자열을 찍는 문제이다.   문제 해결 방법 먼저 라인의 수를 계산한다. 라인의 수는 대각선의 길이를 기준으로 계산한다. (대각선의길이-1) * 2 + 1 이면 라인의 수, 즉 행과 열의 길이가 나온다. …

[TopCoder] DiamondLogo 더 보기 »

[Programmers] 최고의 집합

Link : Lv3. 최고의 집합 문제 설명 자연수 n 개로 이루어진 집합 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합 예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습니다. { 1, 8 …

[Programmers] 최고의 집합 더 보기 »

[Programmers] 가장 긴 팰린드롬

Link : Lv3. 가장 긴 팰린드롬 문제 설명 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 abcdcba이면 7을 return하고 abacde이면 3을 return합니다. 제한사항 문자열 s의 길이 : 2500 이하의 자연수 문자열 s는 알파벳 소문자로만 구성   문제 풀이 단순히 첫 문자에서 …

[Programmers] 가장 긴 팰린드롬 더 보기 »

[Programmers] 땅따먹기

Link : Lv2. 땅따먹기 문제 설명 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 예를 …

[Programmers] 땅따먹기 더 보기 »

[Programmers] 숫자의 표현

Link : Lv2. 숫자의 표현 문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + …

[Programmers] 숫자의 표현 더 보기 »

[Programmers] 가장 큰 정사각형 찾기

Link : Lv2. 가장 큰 정사각형 찾기 문제 설명 1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 예를 들어 1 2 3 4 0 1 1 1 1 1 1 …

[Programmers] 가장 큰 정사각형 찾기 더 보기 »

[Programmers] 약수의 합

Link: Lv1. 약수의 합 문제 설명 자연수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 자연수입니다.   문제 풀이 간단한 문제지만 중요한 기본 개념 이므로 한 번 정리해 둔다. 위키피디아의 약수 뜻에 따르면, 약수(約數, 영어: divisor) 또는 인수(因數, 영어: factor)는 어떤 정수를 나머지 없이 나눌 수 있는 정수를 원래의 정수에 대하여 이르는 말이다.  …

[Programmers] 약수의 합 더 보기 »