전체 글

Data Engineer를 거쳐 커머스 서비스를 개발하는 Backend Engineer로 커리어를 이어나가고 있습니다 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
·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) }
·iOS
// 10진수 -> 2진수 let num: Int = 10 let binary_num = Int(String(num, radix: 2))! print(binary_num) // 2진수 -> 10진수 let binary_num = "1010" let num = Int(num, radix: 2)! print(num)
·Algorithm (PS)
https://www.acmicpc.net/problem/12933 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net Swift로 풀때 문자열을 for문으로 순회해서 하나씩 값을 확인할 때, Array로 만들고 숫자 인덱스로 접근할 수 있게 하는것이 훨씬 편하다 라는 것을 배운 문제이다 var word = "hello" 라는 문자열을 "h", "e", "l", "l", "o" 이렇게 접근하고 싶다면 var idx = input.index(input.startIndex, offsetBy: i) 이렇게 index로 꺼내고 word[inde..
minjiwoo
minji's engineering note