전체 글

공부와 경험의 기록!
·Algorithm (PS)
https://www.acmicpc.net/problem/17615 17615번: 볼 모으기 첫 번째 줄에는 볼의 총 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 다음 줄에는 볼의 색깔을 나타내는 문자 R(빨간색 볼) 또는 B(파란색 볼)가 공백 없이 주어진다. 문자열에는 R 또는 B 중 한 종류만 주 www.acmicpc.net 1) 15% 맞았습니다 달성.. ㅠㅠ import sys input = sys.stdin.readline n = int(input()) array = input() answer = 0 r_move = 0 b_move = 0 r_end = 0 b_end = 0 # 맨 오른쪽의 알파벳 개수 카운트 for i in range(n-1, -1, -1): if array[i] =..
·Algorithm (PS)
https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 0) 그래프 입력 받기 : 파이썬의 defaultdict이라는 훌륭한 내장 라이브러리가 있는데, 이걸 활용하면 쉽다. 그리고 문제에서 1부터 카운트하므로 -1 처리를 해주어서, 0부터 노드가 시작하게끔 처리해주었다. 이래야 나중에 index값으로 접근하기 용이하므로.. graph = defaultdict(list) for i in range(n): data = list(map(int, input().split())) ..
·Algorithm (PS)
https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net from itertools import permutations import copy import sys input = sys.stdin.readline n, m, k = map(int, input().split()) array = [] for i in range(n): array.append(list(map(int, input().split()))) # 배열 돌리기 ..
https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net 1. 선수 조합 : permutations 내장 라이브러리로 모든 경우의 수를 구하고 brute force로 확인한다. 2. 점수계산 : 야구의 규칙이해가 바탕이 되어야 했다.. 그래서 어려웠다 ㅎㅎ ㅜㅜ 안타 -> 타자는 1루, 1루에 있던 선수는 2루, 2루에 있던 선수는 3루, 3루에 있던 선수는 홈으로 score += three 2루타 -> 타자는 2루로 진출, 1루에 있던 선수는 3루, 2루에..
1월 ~ 3월 인턴십 지원 준비 - ICT 실리콘밸리 인턴십을 꼭 붙어서 실리콘밸리를 경험해보고 싶다 ! 는 목표가 있어서 코딩테스트 준비를 했고, 포트폴리오를 다듬었다. - 백준을 매일 풀었다 (코딩테스트) - 미국 현지 인턴십에 합격했다 3월 ~ 8월 Enuma에서 인턴십을 수행했다. 인턴십은 9시 ~ 2시 버클리 오피스 근무, 이후 저녁시간대 7~8시부터 리모트로 한국 엔지니어팀과 근무하는 형태로 진행되었다. 가보고 싶었던 LA, NYC, Las Vegas, SF, San Deigo 등 여행도 많이 다녔다. 6개월있었던 것 치고는 굉장히 여행을 많이 다녔다. 그리고 뉴욕은 혼자서 4박 5일 여행을 했다. 어릴때부터 정말 가보고싶다고 생각해왔던 MoMA를 가볼 수 있어서 정말 꿈같았다 미국 취업에 대..
·iOS
배열안에 tuple을 넣기 위해서 저렇게 하나씩 초기화를 해주어야 한다 var queue : [(x: Int, y:Int)] = [] queue.append((1, 1)) queue.append((1,2)) queue.removeFirst() print(queue) 굳이 x, y 인자를 사용하지 않는다면 생략해주어도 괜찮다 var queue : [(_: Int, _:Int)] = [] queue.append((1, 1)) queue.append((1,2)) queue.removeFirst() print(queue)
·Algorithm (PS)
외판원 순회 https://www.acmicpc.net/problem/2098 2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 방문했는지 확인 하는 법 & 연산자를 통해, 겹치는 1이 있으면 1이상의 값이 나올 것이다 겹치는 게 없으면 0이 나온다 -> 아직 방문하지 않은 도시 var visited = 011 var i = 100 print(visited & i) // 100 import Foundation var N = Int(readLine()!)! var matrix..
·iOS
stride(from: , to: , by: ) 를 사용하여 증감을 설정할 수 있다. let minutes = 60 let interval = 5 for i in stride(from: 0, to: minutes, by: interval) { print(i) }
minjiwoo
MJ workspace