백준 2407번 조합 - SWIFT
Algorithm/BOJ PS2024. 5. 13. 20:17백준 2407번 조합 - SWIFT

문제nCm을 출력한다. 입력n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) 출력nCm을 출력한다. 문제 링크2407번: 조합  풀이BigInt가 지원되는 파이썬과 자바에서는 그냥 공식대로 곱해주면 답이 된다.하지만 아쉽게도 Swift에서는 BInt라는 클래스를 어디서 구해오는 게 아니면 공식대로 풀 수 없다. 이항계수를 삼각형 모양으로 나열한 파스칼 삼각형에서 보면 주로 한 행의 가운데 부분이 가장 큼을 알 수 있다.그래서 100 C 50이 대략 최댓값일 거 같아서 계산기로 계산을 돌려보니, 100891344545564193334812497256 라는 값이 나왔다. Swift의 UInt64의 최댓값은 18446744073709551615 와 같으므로, 터무니없이 크다는 ..

백준 2346번 풍선 터뜨리기 - SWIFT
Algorithm/BOJ PS2024. 5. 13. 20:11백준 2346번 풍선 터뜨리기 - SWIFT

문제1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선이 있다. 각 풍선 안에는 종이가 하나 들어있고, 종이에는 -N보다 크거나 같고, N보다 작거나 같은 정수가 하나 적혀있다. 이 풍선들을 다음과 같은 규칙으로 터뜨린다.우선, 제일 처음에는 1번 풍선을 터뜨린다. 다음에는 풍선 안에 있는 종이를 꺼내어 그 종이에 적혀있는 값만큼 이동하여 다음 풍선을 터뜨린다. 양수가 적혀 있을 경우에는 오른쪽으로, 음수가 적혀 있을 때는 왼쪽으로 이동한다. 이동할 때에는 이미 터진 풍선은 빼고 이동한다.예를 들어 다섯 개의 풍선 안에 차례로 3, 2, 1, -3,..

백준 2193번 이친수 - SWIFT
Algorithm/BOJ PS2024. 5. 13. 20:07백준 2193번 이친수 - SWIFT

문제0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 N이 주어진다. 출력첫째 줄에 N자리 이친수의 개수를 출력한다. 문제 링크https://www.acmicpc.net/probl..

2024/05/06 - 2024/05/12 일기
이모저모/일기2024. 5. 13. 19:582024/05/06 - 2024/05/12 일기

2024/05/06 : 월간 스케쥴5월이 시작되면서 월간 스케쥴을 짰다.내 일정이 항상 애매모호한게 문제... 사실 더 예전에 짰는데 정리를 이번에 했다. 매월 하나씩 정리하는 듯 하다.  2024/05/07 : 판교에서 맥주 한잔도치랑 판교에서 역할맥에 가기로 했었다.근데 막상 가니 판교 직장인들이 다 거기로 모여서 옆 가게로 갔다.인생은 마음대로 되지 않는듯... 어쨌거나 옆 가게로 가서 같이 닭갈비를 냠냠 해주고 맥주 한잔씩 했다.맛있었다... 다 먹고는 판교에 공원이 많길래 산책을 했다.강가에서 앉아있다가 산책....그리고 귀가~!저번에는 막차가 굉장히 일찍 끝났다고 지하철 역 안으로 못들어갔는데 이번엔 웬일인지 계속 운행을 해서 지하철 타구 귀가~  2024/05/08 : 어버이날어버이날이라 누..

4월 회고록
이모저모/회고2024. 5. 13. 19:184월 회고록

한 달의 시작 4월은 만우절과 함께 시작한다. 만우절은 가벼운 장난들과 악의 없는 거짓말로 가득한 하루다. 모든 것이 거짓인건 아니지만 유쾌한 장난들이 4월 1일의 하루를 지배한다. 나의 경우엔 이날은 가벼운 장난이 아니었다. 진지한 날이었다. 날짜가 날짜인 만큼 내가 말한 것들이 장난으로 느껴졌을 수 있지만, 아무래도 상대 또한 나와 같이 가벼운 장난으로 임하지는 않았을 것이다.  모두가 장난으로 시작한 한 달이 나에게는 장난이 아닌 진지한, 그리고 약간은 몽롱한 느낌으로 시작이 되었다. 그 꿈을 꾸는 듯한 그 몽롱한 감각이 이 한달을 거의 지배하듯 했다. 정말 꿈이면 어떡하나 하는 생각도 많이 했던거 같다. 그리고 그 걱정은 아직도 유효하다. 물론 가볍고 즐거운 걱정이다.  즐거움의 연속 4월 한달간..

2024/04/29 - 2024/05/05 일기
이모저모/일기2024. 5. 7. 00:062024/04/29 - 2024/05/05 일기

2024/04/29 : 클라이밍 체험클라이밍에 영혼을 판 친구와 함께 클라이밍 체험을 해봤다. 이게 완전 처음은 아니고 한 2년 전에 대전에서 잠깐 해본 적이 있었는데, 너무 예전이라 다 까먹음 이슈로 처음부터 다시 배웠다.한 2 - 3시간 정도 했는데, 하면서 느낀 점은 아래와 같다. 폭발적으로 5분 가량 힘을 쓰고, 10-20분 쉼.연속적으로 계속 하기 보다 하다 쉬고 하다 쉬고 반복하는 운동이라고 생각이 들었다.1시간 까진 할만한데 그 이후부터는 갑자기 확 힘들어짐.체력이 급격하게 빠지는 느낌이 든다. 첫 1시간은 '아 이정도면 괜찮은데?' 하는데 그 이후부터는 갑자기 힘이 쭉 빠지면서 하기 어려웠다... 아마 이건 클라이밍 특성상 힘을 단기간에 폭발적으로 써서 그런거 같다.질질 끌리는 지구력 운동..

[Swift] 제어 흐름
Develop/iOS2024. 5. 2. 17:33[Swift] 제어 흐름

제어 흐름Swift는 여러 가지 제어 흐름 구문을 제공한다.while, if, guard, switch, break, continue가 제어 흐름 구문에 해당한다.Swift는 Array, Dictionary, ranges, String 등을 쉽게 다룰 수 있는 for-in 구문도 제공한다.Swift의 switch 구문은 C언어의 것보다 더 강력한 기능들을 제공한다.case들을 tuple, 특정 타입에 대한 cast를 포함해서 좀 더 많은 패턴으로 구성할 수 있다.Switch의 case 일치 값은 임시 상수 혹은 변수에 담길 수 있다.복잡한 조건은 각 케이스의 where 절로 표현될 수 있다.  For-In Loopsfor-in loop 구문은 Array의 값들, String의 Character 값들과 같..

백준 2178번 미로 탐색 - SWIFT
Algorithm/BOJ PS2024. 5. 2. 00:51백준 2178번 미로 탐색 - SWIFT

문제N×M크기의 배열로 표현되는 미로가 있다.101111101010101011111011 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다.위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. 입력첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. 출력첫째 줄에 지나야 하는 최소의..

2024/04/22 - 2024/04/28 일기
이모저모/일기2024. 5. 2. 00:412024/04/22 - 2024/04/28 일기

2024/04/22 : 포트폴리오본격적으로 포트폴리오를 작성하기 시작했다.사실 이전에 지원했던 회사는 포트폴리오 없이 단순 서류만으로도 합격했었는데, 그때는 걍 아 첫번째 지원인데 안되면 말고~ 이런 느낌이었어서 별 생각이 없었다...근데 이제 지원할 다른 회사엔 조금 확실하게 서류합을 해야할거 같아서 포트폴리오를 만들기로 했다. 처음엔 대강 이렇게 만들었는데 너무 오밀조밀이라... 가독성이 떨어진다... 그와중에 친구 평가  2024/04/23 : 포켓몬스터 하트골드포켓몬스터 에메랄드를 다 깨고, 포켓몬스터 오메가 루비를 하려고 3DS 에뮬레이터까지 구했는데 게임 키고 한 3분 하다가 껐다.약간 게임이... 너무 조화롭지 않다고 해야하나... 똥겜 스멜이 좀 쎄해서... 걍 명작 하트골드로 넘어갔다. ..

백준 1991번 트리 순회 - SWIFT, C++
Algorithm/BOJ PS2024. 4. 28. 20:08백준 1991번 트리 순회 - SWIFT, C++

문제이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal)한 결과를 출력하는 프로그램을 작성하시오.  예를 들어 위와 같은 이진 트리가 입력되면,전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식)중위 순회한 결과 : DBAECFG // (왼쪽 자식) (루트) (오른쪽 자식)후위 순회한 결과 : DBEGFCA // (왼쪽 자식) (오른쪽 자식) (루트)가 된다. 입력첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파벳 ..

image