분류 전체보기 117

[백준 16931] 겉넓이 구하기 (Swift)

문제 : https://www.acmicpc.net/problem/16931 16931번: 겉넓이 구하기 크기가 N×M인 종이가 있고, 종이는 1×1크기의 칸으로 나누어져 있다. 이 종이의 각 칸 위에 1×1×1 크기의 정육면체를 놓아 3차원 도형을 만들었다. 종이의 각 칸에 놓인 정육면체의 개수가 주어 www.acmicpc.net 1. 문제 이해하기 입력으로 좌, 우(n, m), 그리고 각 칸마다 올려진 블록의 개수를 2차원 배열로 주어진다. 총 겉넓이(위, 아래, 앞, 뒤, 좌, 우 넓이) 출력하기 2. 문제 풀이 생각하기 먼저 위아래는 (2차원 배열의 행 * 열 * 2), 좌, 우는 (좌의 겉넓이 * 2), 앞, 뒤도 (앞의 겉넓이 * 2) 구하면 된다고 생각했습니다. 처음에는 한 방향의 겉넓이를 ..

Algorithm/Swift 2021.07.06

[Programmers] 카카오 인턴십 - 경주로 건설 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 문제 설명에 앞서, 테스트 케이스 14, 24에서 막혀서 질문하기에 다른 분들..

Algorithm/Swift 2021.07.03

[Programmers] 2020 카카오 인턴십 - 보석쇼핑 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr Step 1. 문제 이해하기 gems 배열에는 보석들의 이름이 담겨있다. 모든 종류의 보석을 적어도 1개 이상 포함하면서 가장 짧은 연속하는 구간의 처음과 끝을 정수 배열로 출력 만약 가장 짧은 구간이 여러 개라면 시작 구간이 가장 작은 구간을 출력 배열의 크기는 최대 1 이상 100,000 이하 Step 2. 문제 풀이 생각하기 연속하면서 가장 짧은 구간이라고 해서 투 포인터를 떠올렸습니다. gems..

Algorithm/Swift 2021.07.02

[Programmers] 2020 카카오 인턴십 - 수식 최대화 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr Step 1. 문제 이해하기 숫자(999 이하)와 연산자('+', '-', '*')를 띄어쓰기 없이 포함한 문자열 변수 expression이 존재 문자열의 총길이는 3 이상 100 이하 연산자 우선순위를 임의로 설정하여 나온 우승상금(결괏값)의 절댓값이 가장 큰 값을 출력 Step 2. 문제 풀이 생각하기 연산자 우선순위 조합을 어떻게 구현할 것인지 ..

Algorithm/Swift 2021.07.02

[iOS / Storyboard] Auto Layout 여러 View에 적용하기(2)

이번에는 여러 view에 대한 Auto Layout을 적용해보겠습니다. [Step 1] view 3개 생성하기 먼저 green View에 제약조건을 모두 설정해보겠습니다. 아직 빨간 부분이 존재합니다. 이번에는 pupple View의 제약조건을 모두 설정해보겠습니다. green View의 제약조건은 모두 만족하는 것을 확인할 수 있습니다. [Step 2] pupple의 왼쪽 가장자리 제약조건을 선택하고 green의 왼쪽 가장자리에 맞추기 pupple의 왼쪽 가장자리가 green의 왼쪽 가장자리에 맞춰진 것을 확인할 수 있습니다. 여기서 왼쪽 Constant를 30으로 조정해보겠습니다. 왼쪽을 30으로 줄인 만큼 pupple의 크기가 줄어든 것을 확인할 수 있습니다. 왜 위치가 변하지 않고 크기가 줄어들었..

Storyboard 2021.07.01

[iOS / Storyboard] Auto Layout 개념 이해하기(1)

스토리 보드에서 화면을 그릴 때 사용하는 Auto Layout에 대해서 알아보겠습니다. Auto Layout(오토 레이아웃)이란 view 간의 제약 조건(Constraints)으로 view의 크기와 위치를 동적으로 지정하는 것을 말합니다. 여기서 제약조건에는 view의 높이, 너비, 수직 및 수평 중심, 그리고 view의 가장자리(Leading - 왼쪽, Trailing - 오른쪽, Top - 위, Bottom - 아래) 등이 있습니다. Auto Layout Guide 참고 내용입니다. Understanding Auto Layout Auto Layout Guide: Understanding Auto Layout developer.apple.com Auto Layout을 이용해서 Constraints를 설..

Storyboard 2021.06.30

[Algorithm / Swift / IDE] Swift로 알고리즘 공부하기 좋은 방법

Swift로 작성한 소스 코드를 Run 한 결과도 보고 싶고 클래스의 객체 내부에 함수가 뭐가 있는지 알고 싶고 구현하다가 막히는 부분 라인이 어디인지 디버깅하고 싶을 때! Xcode를 이용해서 문제를 해결할 수 있습니다. [Step 1] 새로운 프로젝트에서 Command Line Tool 생성하기 [Step 2] Run 해보기 결과가 잘 나오는 것을 확인할 수 있습니다. [Step 3] BreakPoint 설정해보기 라인 숫자를 클릭하면 BreakPoint를 설정할 수 있습니다. 이를 없애기 위해서는 드래그한 상태로 왼쪽으로 버리거나 cmd + Y를 이용해서 BreakPoint를 인식하지 못하게 할 수 있습니다. [Step 4] Debugging 해보기 디버깅을 통해서 변수에 생각한 값이 들어갔는지 확..

Algorithm/Swift 2021.06.25

[Programmers] 2020 카카오 인턴십 - 키패드 누르기 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr Step 1. 문제 이해하기 왼손, 오른손 엄지는 각각 '*', '#'에 위치해 있고 왼쪽 키패드(1, 4, 7)는 무조건 왼손이 클릭하고 오른쪽 키패드(3, 6, 9)는 오른손이 클릭 중앙 키패드(2, 5, 8, 0)를 클릭할 때는 왼손 또는..

Algorithm/Swift 2021.06.25

[Git] 깃 Profile(Overview) 이쁘게 꾸며보기

오늘은 깃 Proflie(Overview)를 꾸며보겠습니다. 먼저 완성본인 제 프로필입니다. Blog 링크, 사용한 프로그래밍 언어의 비중, 알고리즘 등급, 커밋 수 등 나름 다양한 정보를 Git Profile에 기록할 수 있습니다. 먼저 레포지토리에서 자신의 깃 로그인 아이디와 동일한 이름의 레포지토리를 생성합니다. 이때, Add a README file을 꼭 체크해주셔야 합니다. 다음의 순서로 설명드리겠습니다. [Step 1] Most Used Languages 만들기 해당 링크에 접속합니다. https://hits.seeyoufarm.com/ HITS Easy way to know how many visitors are viewing your Github, Website, Notion. hits.s..

Git 2021.06.23

[맥 / Android / Kotlin] Live Templates를 이용해서 log 추가하기

Live Templates를 이용해서 log 추가하는 방법을 알아보겠습니다. log는 안드로이드 앱이 잘 구동되고 있는지, 혹은 에러가 발생했는지를 체크하기 위한 API입니다. log를 남길 때 자신만의 방식으로 더 편하게 남기고 싶을 때 Live Template을 이용할 수 있습니다. [Step 1] Android Studio -> Preferences... [Step 2] Live Templates 클릭 [Step 3] Kotlin 클릭 후 '+' 버튼 클릭 [Step 4] logd 추가 후, Edit variables 클릭 [Step 5] Expression에 각각 kotlinClassName(), kotlinFunctionName() 입력 후 OK [Step 6] Define 클릭, Kotlin ..

Android/Kotlin 2021.06.21