일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Algorithm
- 코딩테스트
- Playground #Swift
- Xcode
- HIG
- AppleDeveloperAcademy
- POSTECH
- HumanInterfaceGuidelines
- Apple
- 코딩트리조별과제
- 1935
- SWiFT
- 애플디벨로퍼아카데미
- 코드트리
- HumanInterfaceGuideline
- 백준
- Today
- Total
목록전체 글 (23)
WonniOS
머 ... 그냥 기본적인 큐(FIFO) 문제다. 문제 링크 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 각각의 기능들을 함수로 만들어서 switch로 명령어를 배분해준 다음, 함수를 선언했다. 그냥 문제에서 원하는대로 짰는데, 계속 실패 뜨길래 살짝 멘붕이 왔었다. 원인은 바로 push 함수에서 입력받은 명령(input)을 input.last로 받았는데, 그렇게 받으니까 두자리 이상 숫자를 정확히 못받는 거였다. 예를들..
시간제한의 어려움을 극한으로 느낄 수 있었던 문제......엉엉.... 문제 링크 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 풀이 초반엔 그냥 switch로 명령어 나눠서 배열의 index를 가지고 하나씩 옮겨주는 방식을 떠올렸다. 시간제한이 빡세길래 안될 것 같다는 직감은 들었지만 딱히 다른 방법이 생각나지 않아서 그냥 그대로 코드를 짰는데 역시나 시간초과... 고민하다가 결국 다른 분들의 코드를 보고 내 답을 고쳤다. 처음 제출 코드 -..
알고리즘 문제를 푸는데 삼항연산자를 썼더니 이런 에러가 나왔다. 첨엔 뭔소린가 했는데,, 별거 아닌 에러였다. 그냥 괄호를 해주면 된다.. vps![i] == "(" ? (count+=1) : (count-=1) 요로케..
문제 링크 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 풀이 문제를 이해하는 것부터 꽤 시간이 걸렸다. push를 할수록 count의 값을 증가시켜서 입력 받은 숫자가 count보다 작을 때에는 계속 push를 해주고, 입력받은 숫자가 stack의 마지막과 같을 때에는 pop을 시켜주었다. 전체 코드 import Foundation let N = Int(rea..
문제 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 풀이 처음엔 그냥 왼쪽과 오른쪽의 괄호 개수가 똑같으면 되는거 아냐? 라고 단순하게 생각하고 풀었으나, ())(() 의 경우로 인해 다시 생각을 해야했다. 그래서 먼저 왼쪽, 오른쪽 괄호의 갯수를 세고, 오른쪽 괄호의 개수가 총 괄호 개수의 과반수 이상을 넘어가면 바로 No로 처리해주는 방식으로 구현했으나 이것도 다른 테스트케이스가 돌아가지 않았다.. ㅠ 그래서..
아주아주 간만에 알고리즘을 풀어보려고 하니 쉽지 않았다.. 똥멍청이가 되어버린 기분... 백준 강의에 있는 알고리즘 기초 문제들부터 풀어보려고 한다.. 그래서 풀어본 문제는 https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 풀이 그냥 문장을 입력 받고 단어별(공백)로 끊어서 뒤집으면 된다. 원래는 stack 문제인데 그냥 reversed 함수 써서 뒤집었다. joined는 배열을 합쳐서 string으로 변환해주는 함수이다. 제출코드 imp..
↓ 문제 링크 ↓ https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 ..