전체 글 41

문제 - 카드 뭉치

-  문제설명 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다.- 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다.- 한 번 사용한 카드는 다시 사용할 수 없습니다.- 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다.- 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다.- 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때["i", "want", "to", "drink", "water"] 순서의 단어 배열을 만들려고 한다면 첫 번째 카드 뭉치에서 "i..

코딩테스트 2024.07.10

문제 - 연속 부분 수열 합의 개수

문제설명 철호는 수열을 가지고 놀기 좋아합니다. 어느 날 철호는 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇 가지인지 알아보고 싶어졌습니다. 원형 수열이란 일반적인 수열에서 처음과 끝이 연결된 형태의 수열을 말합니다. 예를 들어 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 다음과 같습니다.원형 수열은 처음과 끝이 연결되어 끊기는 부분이 없기 때문에 연속하는 부분 수열도 일반적인 수열보다 많아집니다.원형 수열의 모든 원소 elements가 순서대로 주어질 때, 원형 수열의 연속 부분 수열 합으로 만들 수 있는 수의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 3 ≤ elements의 길이 ≤ 1,0001 ≤ eleme..

코딩테스트 2024.07.08

문제 - 명예의 전당 (1)

문제설명"명예의 전당"이라는 TV 프로그램에서는 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 가수에게 점수를 부여합니다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념합니다. 즉 프로그램 시작 이후 초기에 k일까지는 모든 출연 가수의 점수가 명예의 전당에 오르게 됩니다. k일 다음부터는 출연 가수의 점수가 기존의 명예의 전당 목록의 k번째 순위의 가수 점수보다 더 높으면, 출연 가수의 점수가 명예의 전당에 오르게 되고 기존의 k번째 순위의 점수는 명예의 전당에서 내려오게 됩니다.이 프로그램에서는 매일 "명예의 전당"의 최하위 점수를 발표합니다. 예를 들어, k = 3이고, 7일 동안 진행된 가수의 점..

코딩테스트 2024.07.03

문제 - JadenCase 문자열 만들기

문제 설명JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.제한 조건s는 길이 1 이상 200 이하인 문자열입니다.s는 알파벳과 숫자, 공백문자("")로 이루어져있습니다.숫자는 단어의 첫 문자로만 나옵니다.숫자로만 이루어진 단어는 없습니다.공백문자가 연속해서 나올 수 있습니다. 입출력 예sreturn"3people unFollowed me""3people Unfollowed Me""for the last week""For The Last Wee..

코딩테스트 2024.07.02

TableViewCell안에 있는 버튼을 delegate를 이용하여 viewController에서 설정하기

인스타 메인화면과 유사한 화면을 만드는 중에 문제가 발생했다.테이블뷰를 만들고 테이블뷰셀안의 버튼을 추가하고 실행을 해보니 버튼을 눌러도 셀 전체가 눌리는 현상이 발생했다.그래서 구글링을 통해 방법을 찾아본 결과 Tag방법, delegate방법, 클로저방법 등 이 있었는데 delegate방식을 사용해서 문제를 해결해보았다. delegate방식으로 버튼 활성화1.우선 protocol을 선언하고 cell내부에 해당 protocol을 타입으로 하는 delegate 프로퍼티를 선언합니다.protocol HomeTableViewCellDelegate: AnyObject { func didTapLikeButton(in cell: HomeTableViewCell)} 2. 셀 안에 HomeTableViewCell..

카테고리 없음 2024.05.21

Ruby버전 업데이트

cocoapods버전 엡데이트 실패카카오 소셜 로그인을 구현하기 위해 KakaoSDK를 install 했는데 cocoapods버전이 낮아서 실패..그래서 sudo gem install cocoapods를 이용해서 cocoapods 업데이트를 시도했지만 이것도 실패....이유는 Ruby버전이 2.7.0. 이상을 요구하는데 현재 버전이 낮아서였다. (아래와 같은 에러)ERROR: Error installing cocoapods:The last version of drb (>= 0) to support your Ruby & RubyGems was 2.0.6. Try installing it with `gem install drb -v 2.0.6` and then running the current comma..

카테고리 없음 2024.05.03

swift에서 GoogleMLKit/Translate 사용

오늘은 구글 머신러닝중 한가지인 Translate를 사용해보았습니다.단어장 어플을 만드는데 필요한 번역기능을 찾아보다가 GoogleMLKit/Translate을 선택하게 되었습니다. 사용이 편리하고 비용이 무료인 점 때문에 선택했습니다!공식문서https://developers.google.com/ml-kit   일단 GoogleMLKit/Translate 라이브러리는 cocoapods로만 제공되기 때문에 cocoapods를 다운로드 해줘야합니다. cocoapods를 다운로드했다면 터미널 -> 프로젝트 이동pod init podfile에서 아래 코드를 등록후 저장합니다.pod 'GoogleMLKit/Translate', '3.2.0' 터미널에서pod install여기까지 하면 MLKitTranslate 사..

카테고리 없음 2024.04.25

CocoaPods

CocoaPods란? 라이브러리 의존성 관리 매니저이고 수많은 xcode 프로젝트 라이브러리들이 cocoapods으로 관리되어진다. Podfile 설치하는 라이브러리에 대한 정보들을 포함하는 파일입니다. 아래 사진과 같이 필요한 라이브러리를 pod '라이브러리'로 추가하면 된다. Podfile.lock Podfile을 통해 설치된 라이브러리의 버전을 기록해놓고 유지시키는 파일입니다. pod install을 실행하면 Podfile.lock에 명시된 라이브러리의 버전을 다운로드 받습니다. Cocoapods 설치 터미널에 sudo gem install cocoapods를 입력하면 된다. 사용에 필요한 명령어 pod install Podfile에 명시된 라이브러리를 다운받고 설치합니다. Podfile.lock에..

카테고리 없음 2024.04.22

HTTP와 HTTPS의 차이점

HTTP 프로토콜은 어떻게 작동하나요? HTTP는 OSI(Open Systems Interconnection) 네트워크 통신 모델의 애플리케이션 계층 프로토콜입니다. HTTP는 여러 유형의 요청과 응답을 정의합니다. 예를 들어, 웹 사이트의 일부 데이터를 보려는 경우 HTTP GET 요청을 전송합니다. 연락처 양식 작성과 같은 일부 정보를 전송하려는 경우 HTTP PUT 요청을 전송합니다. 마찬가지로, 서버는 숫자 코드 및 데이터 양식으로 다양한 유형의 HTTP 응답을 전송합니다. 다음은 몇 가지 예입니다. 200 - OK(정상) 400 - Bad request(잘못된 요청) 404 - Resource not found(리소스를 찾을 수 없음) 이러한 요청 및 응답 통신은 일반적으로 사용자에게 보이지 않..

카테고리 없음 2024.04.06

MVC (Model-View-Controller) 패턴이란?

MVC (Model-View-Controller) 패턴이란? MVC패턴은 컴퓨터공학에서 소프트웨어 설계와 아키텍처를 위한 디자인 패턴 중 하나입니다. 이 패턴은 주로 사용자 인터페이스(UI)를 가진 응용 프로그램에 사용되며, 애플리케이션의 개발과 유지 보수를 쉽게 하기 위해 데이터, 프레젠테이션, 프로세싱을 서로 분리합니다. MVC 패턴의 세 가지 주요 구성 요소는 다음과 같습니다: 모델(Model) 모델은 애플리케이션의 핵심 데이터와 비즈니스 로직을 나타냅니다. 데이터 저장소와의 상호 작용, 데이터 처리 및 유효성 검사와 같은 작업을 수행합니다. 모델은 독립적으로 작동하며, 뷰와 컨트롤러와 직접적으로 통신하지 않습니다. 뷰(View) 뷰는 사용자에게 보여지는 애플리케이션의 UI 부분입니다. 뷰는 모델에..

카테고리 없음 2024.04.01