배경 백준 알고리즘 문제를 풀다가 빠른 입력 A+B 문제를 봤는데 readLine()으로는 Swift의 처리속도가 느리기때문에 시간초과가 뜨는 문제들이 있다는 걸 알았고 이를 해결하기 위해서 fread 방식으로 빠른입력 처리를 해둔 라이노님의 코드가 존재한다는 걸 알게 됐다. https://gist.github.com/JCSooHwanCho/30be4b669321e7a135b84a1e9b075f88 ps할 때 입력을 한꺼번에 받기 위한 유틸리티 클래스. fread의 swift 버전. ps할 때 입력을 한꺼번에 받기 위한 유틸리티 클래스. fread의 swift 버전. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 그치만 이..
[##_revenue_list_upper##]
코딩테스트
[##_revenue_list_lower##]문제 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 N바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?” 혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 4바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 8바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 4바이트씩 저장..
문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. 입력 첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. 출력 첫째 줄에 윤년이면 1, 아니면 0을 출력한다. 예제 입력 1 복사 2000 예제 출력 1 복사 1 예제 입력 2 1999 예제 출력 2 0 풀이 import Foundation let input = Int(readLine..
문제 - 머쓱이가 바탕화면 정리하는 데 드래그 시작점부터 드래그 끝점의 좌표를 구해야 한다. 풀이과정 - 솔직히 굉장히 간단한 문제인데 격자라는 문제에 쫄아서 어렵게 생각하고 돌아갔던 것 같다. - 2차원 배열을 for문으로 돌리고 시작점의 좌표와 끝점의 좌표를 구하면 되는데, 실패과정 - 나는 wallpaper[i]의 각각에서 #이 나올 때마다 [0,0,0,0]라고 정의된 result함수에 값을 바꿔주는 방식으로 접근했다. - 이렇게 하면 어렵게 어렵게나마 값을 구할 수는 있는데 문제는 startPoint의 Column값이 0일 때의 케이스에 대처할 수가 없었다. 정정과정 - 약 20시간 가까이 삽질하고 나서 다시 문제를 보니 드래그 시작점(lux, luy)과 끝점 (rdx, rdy)의 특징은 명확했다..