[백준/Silver IV] 요세푸스 문제 - 1158
·
알고리즘/백준
분류자료 구조, 구현, 큐제출 일자2024년 5월 22일 00:49:48문제 설명요세푸스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다.N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)출력예제와 같이 요세푸스 순열을 출력한다...
[백준/Silver IV] 괄호 - 9012
·
알고리즘/백준
분류자료 구조, 스택, 문자열 제출 일자2024년 5월 13일 16:13:21 문제 설명괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “..
[백준/Bronze I] 단어 뒤집기 - 9093
·
알고리즘/백준
분류구현, 문자열 문제 설명문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다. 출력각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다. 문제풀이방법1. T수 만큼 명령 수 입력2. 문장 입력 받은 후 문장안 공백 마다 분리하기3. 분리한 문장들을 뒤집어주기4. 뒤집은 문장을 출력하기
[프로그래머스] 문자열 반복 출력
·
알고리즘/프로그래머스
import Foundationfunc solution(_ my_string: String, _ n: Int) -> String { var result = "" //my_string의 길이가 2 이상 5 이하, n이 2 이상 10 이하인지 확인합니다. 만약 그렇지 않다면, 빈 문자열을 반환합니다. guard 2...5 ~= my_string.count && 2...10 ~= n else { return "" } //my_string의 각 문자 char에 대해 n번씩 반복해서 result에 추가합니다. for char in my_string { for _ in 1...n { result.append(char) } ..
[프로그래머스] 옷가게 할인 받기
·
알고리즘/프로그래머스
안녕하세요 Bulmang입니다!하루에 40분이상은 코딩테스트 한 문제를 풀고 있습니다!오늘은 런타임 에러가 나서 코드를 수정하였습니다.런타임에러가 났던 이유는 if 조건문을 많이 사용해서 런타임에러가 났던 것 같습니다!그후 삼항연산자를 사용해봤습니다변경 전func solution(_ price:Int) -> Int { var result : Int var discount : Double guard 10...1000000 ~= price else { return 0 } if price >= 100000 { discount = Double(price) * 0.05 } else if price >= 300000 { discount = D..
[TIL] 코딩테스트 , 리빌딩
·
기타/Today I Learned
코딩테스트 꾸준히 하루에 한시간 이상 코테를 공부했는데 문제에 접근을 하는 방법에 대해 생각을 해봤다. 엄청 간단한 최소공배수를 구하는 문제였지만 나는 다른 규칙을 찾으려고 엉뚱한 짓을 하여 시간을 많이 잡아 먹었다. 일단 코테를 풀 때 문제의 본질을 찾는 것이 제일 중요한 것 같다. 바로 풀지말고 문제를 잘 이해하자. 리빌딩 아카데미에서 오늘 팀 활동을 하였는데 활동을 하다가 문제가 있는 것 같아 다시 처음부터 리빌딩을 하였다. 그랬더니 시간이 부족하여 좋은 결과를 내지 못하였다. 처음에 팀원들과의 소통을 잘하였지만 나중에 시간이 급하니 소통이 줄어들고 문제를 해결하기 위해 급하게 행동을 하니 좋은결과를 얻지 못한 것 같았다. 현직으로 일하셨던 팀원에게 경험을 여쭤 봤는데 충분한 기획,회의를 통하여 리..