전체 글 117

[Programmers] 단어 변환 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 1. 문제 이해하기 두 단어 begin, target, 단어의 집합 words가 주어집니다. begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 해당 조건으로만 단어를 변환할 수 있습니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수..

Algorithm/Swift 2021.09.07

[Programmers] 네트워크 (Swift)

문제 : https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 1. 문제 이해하기 노드와 간선으로 이어져 있는 트리(네트워크)의 개수를 리턴하는 문제 컴퓨터의 개수 n은 1 이상 200 이하인 자연수 각 컴퓨터는 0부터 n-1인 정수로 표현 i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[i][j]를 1로 표현 computer[i][i]는 항상 1 2. 문제 풀이 생각하기 처음에는 백준처럼 모든..

Algorithm/Swift 2021.09.07

[Git] You have not concluded your merge 에러 해결

브랜치의 커밋 메시지를 수정하고 푸시했을 때 해당 에러가 발생했습니다. 그리고 pull을 하고 push를 하려고 하니 다음의 에러가 발생했습니다. 해당 에러를 찾아보니 pull을 진행하면서 merge 하는 과정에서 충돌이 발생한 것으로 확인됐습니다. 아마도 로컬에서 Commit을 남긴 상태에서 push 하지 않고 pull 후, push를 해서 생긴 에러인 것 같습니다. 해당 에러를 해결해보겠습니다. [Step 1] merge 취소 git merge --abort [Step 2] 충돌한 부분 수정 [Step 3] commit + pull git commit -m "메시지 내용" git pull [원격저장소명] [브랜치명] ex) git commit -m "파일 내용 수정" git pull origin fe..

Git 2021.09.06

[Git] 커밋 히스토리를 보기 위한 레포지토리 병합하기

오늘 포스터의 결과 화면입니다. 기존 레포지토리에는 contribute 탭이 없어 커밋 히스토리를 확인할 수 없었지만 기존 레포지토리를 병합한 새로운 레포지토리에서는 커밋 히스토리를 확인할 수 있습니다. 커밋 히스토리를 확인할 수 있도록 기존 레포지토리를 새로운 레포지토리에 병합하는 방법을 알아보겠습니다. [Step 1] 새로운 레포지토리를 Public으로 생성 (필자는 fork 후, 병합했습니다.) [Step 2] 로컬 저장소에 두 레포지토리를 각각 클론 첫 번째 레포가 기존 레포, 두 번째 레포가 새로 만든 레포입니다. (쉽게 original 레포, destination 레포라고 하겠습니다.) [Step 3] 원격 저장소를 생성하고 해당 저장소에 original 레포 경로 등록 cd [destinat..

Git 2021.08.26

[iOS / Error] Unable to load contents of file list... 에러 해결

이전 포스터에서 문제를 해결하다가 새로운 에러에 봉착했습니다. 해당 문제는 Xcode 10.2에서 디폴트로 사용되는 새로운 빌드 프로세스와 관련된 에러입니다. 해당 에러를 해결해보겠습니다. [Step 1] terminal에서 pod 파일을 포함하고 있는 경로로 이동해서 다음의 코드를 입력합니다. sudo gem update cocoapods --pre pod update [Step 2] Product -> Clean Build Folder 후 빌드 ※ 참고 출처 stackoverflow Xcode 10.2 Update issue Build system error -1: Unable to load contents of file list: input/output xcfilelist After upgradin..

Error 2021.08.19

[iOS / Error] Failed to render and update auto layout... 에러 해결

FSPagerView 오픈 소스 라이브러리를 사용하다가 다음과 같은 에러가 발생했습니다. 찾아보니 다음의 에러는 Cocopads의 버전 문제였습니다. 해당 에러를 해결해보겠습니다. 두 가지 방법이 있습니다. 첫 번째 방법으로 해결이 되면 넘어가고 첫 번째 방법이 안 된다면 두 번째 방법을 시도합니다. [Solution 1] podfile에 다음의 코드를 추가하기 # Workaround for Cocoapods issue #7606 post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete('CODE_SIGNING_ALLOWED') config.build_..

Error 2021.08.19

[Git] The requested URL returned error: 403 에러 해결

vscode에서 기존 레포지토리의 파일을 수정 후 git push 했을 때 에러가 발생했습니다. git 계정에 git clone, pull push 등의 명령어로 접근하기 위해서는 깃 계정 비밀번호를 사용했었습니다. 하지만 2021년 8월 13일 이후로는 깃 계정에 접근할 때 깃 토큰으로 접근하도록 바뀌었습니다. 해당 변경 사안에 대한 자료입니다. Matthew Langlois Token authentication requirements for Git operations | The GitHub Blog Beginning August 13th, 2021, we will no longer accept account passwords when authenticating Git operations on GitH..

Git 2021.08.16

[백준 2589] 보물섬 (Swift)

문제 : https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net 1. 문제 이해하기 행, 열의 크기가 50 이하인 그래프에서 각 칸에 L(육지), W(바다)가 주어지고 육지에서만 상하좌우로 움직일 수 있습니다. 한 칸 이동하는데 한 시간이 걸립니다. 보물은 여러 개의 육지 덩어리 중에서 육지 칸에서 육지 칸까지 가장 긴 거리 두 곳에 나누어 묻혀있습니다. 두 곳 사이의 거리는 최단 시간 경로입니다. 이때의 두 곳 사이의 최단 거리로 이동하는 시간을 출력합..

Algorithm/Swift 2021.08.10

[iOS / CocoaPods / Error] Oh no, an error occurred 에러 해결

CocoaPods를 이용해서 오픈 소스 라이브러리를 설치하는 과정에서 terminal에서 pod init -> Podfile 수정 -> pod install 을 했을 때 위와 같은 에러가 발생했습니다. 찾아보니 해당 에러는 맥북 에어(M1칩)에서 발생하는 에러라고 합니다. 에러를 해결해보겠습니다. [Step 1] pod init -> sudo vi podfile 터미널에서 먼저 Podfile생성 후, sudo vi podfile을 통해서 해당 부분에 라이브러리를 포함시켜줍니다. 수정할 때는 'i' 클릭 완료 후에는 esc -> wq! [Step 2] 터미널에 다음 명령문을 순서대로 입력 sudo arch -x86_64 gem install ffi arch -x86_64 pod install 영어로 된 문..

Error 2021.08.09

[백준 14503] 로봇 청소기 (Swift)

문제 : https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 1. 문제 이해하기 이 문제는 문제 풀이를 시작하기 전에 문제를 잘 읽고 이해하고 푸셔야 할 것 같습니다. 크기 3

Algorithm/Swift 2021.08.05

[iOS / Error] whose view is not in the window hierarchy 경고 해결

Storyboard Segue를 이용해서 화면 전환을 구현하다가 다음과 같은 에러가 발생했습니다. 해석을 해보면 '윈도우 계층에 해당 뷰가 존재하지 않는다.'입니다. 해당 경고를 찾아보니 Storyboard Segue로 화면이 전환되고 있는 동안, 소스 코드에서 동시에 화면 전환이 실행되고 있어 화면 전환 간 충돌(?)로 인해 해당 뷰가 계층에 포함되지 않은 것으로 확인됐습니다. 해당 경고를 해결해보겠습니다. [Step 1] 먼저 Storyboard Segue와 화면 전환 소스코드가 둘 다 생성되어 있는지 확인 [Step 2] 소스 코드에서 구현한 버튼의 perfromSegue 함수를 없애줍니다. (아니면 버튼의 이벤트 함수 자체를 없애줍니다.) 화면 전환을 Storyboard Segue를 이용해서 쉽게..

Error 2021.08.05