[프로그래머스] 괄호 변환
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr입력w = "괄호로 이루워진 문자열" 출력올바른 괄호 만들기 해석열린 괄호와 닫힌 괄호의 개수가 같다면 이를 균형잡힌 괄호 문자열이라고 부릅니다.괄호의 짝도 모두 맞을 경우에는 이를 올바른 괄호 문자열이라고 부릅니다. 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 문자열" 이라면 문자열 v에 ..
[프로그래머스] 문자열 압축
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr입력s = "길이가 1 이상 1,000 이하인 문자열 " 출력압축된 문자열의 가장 짧은 길이해석1. 문자열의 압축 한계는 문자열 길이의 절반까지다. ex) aabb/aabb -> 2aabb2. 현재 문자열과 다음 문자열이 같으면 압축횟수를 증가시키기고 , 그렇지 않으면 지금까지 압축한 문자열을 더해준다.3. 단, 문자열 압축횟수가 1이면 생략이 가능하다.4. 남은 잔여 문자열이 있다면 그냥 더해준다.코드import Foundationextension String { subscript(_ index: In..
[프로그래머스] 오픈채팅방
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 입력record:[String] = ["동작 userId 닉네임"] // 공백으로 구분출력userId에 맞는 올바른 유저 닉네임의 동작을 순서대로 나열한다.해석1. 공백을 기준으로 정보를 나눈 후, userId를 key값으로 닉네임을 기억한다.2. 이후 동작과 id를 매칭시킨  Info 구조체  를 만들어 주어진 명령어를 순서대로 기억한다.3. 최종적으로 id를 닉네임으로 변환후 동작을 더해준다.  동작Enter ~ 님이 들어왔습니다. , userId와 닉네임이 주어짐Change , userId와 닉네임이 ..
[프로그래머스] n진수 게임
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 입력진법 n, 미리 구할 숫자의 갯수 t, 게임에 참가하는 인원 m, 튜브의 순서 p 가 주어진다.2 ≦ n ≦ 160 < t ≦ 10002 ≦ m ≦ 1001 ≦ p ≦ m출력튜브가 말해야 하는 숫자 t개를 공백 없이 차례대로 나타낸 문자열. 단, 10~15는 각각 대문자 A~F로 출력한다. 해석n진법으로 숫자를 변환한 후,  튜브가 말해야하는 마지막 차례까지 모든 숫자를 누적해서 저장한 다음 튜브가 말해야하는 문자들만 골라서 출력한다. n진법으로 변환할 때는 String의 생성자를 이용한다.public ..
[프로그래머스] 파일명 정렬
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 해석file이름 문자열을 총 3가지 구간으로 나눈다.head숫자가 최초로 나오기 전까지 모든 문자열number숫자로만 이루워져 있는 구간tailnumber에 숫자가 아닌 다른 문자가 나온 이후 모든 문자열 이후 정렬 조건은 다음과 같다.head 기준 오름차순head가 같으면 number 기준 오름 차순number까지 같으면 처음에 주어진 순서 기준 (stable sort)import Foundationstruct File: Comparable { let head: String let number:..
[프로그래머스] 압축
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  해석처음 A ~ Z 까지는 1 ~ 26까지 색인번호가 명시되어 있고 주어진 문자를 하나씩 순회하며 다음글자와의 조합 (w+c) 가 사전에 존재하는 지 여부에 따라 분기가 나눠진다. 만약 존재한다면별도의 출력 없이 현재 문자열이 w+c로 갱신되고만약 존재하지 않는다면현재 문자열의 색인을 출력w+c를 사전에 추가한다또한 현재문자열(w)는 다음 문자열(c)가 된다.여기서 중요한 점은 나는 w를 문자열의 첫 문자가 아닌 공백("")문자열로 시작했다. 이렇게 해야 인덱스 접근이 보다 편하고 분기가 간편해진다. 코드..