분류 전체보기

문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 1차 고민 맨 처음에는 while문으로 입력값인 n을 var num에 담아서 홀수 짝수마다 번갈아가며 arr에 담고 joined()를 통해서 문자열을 리턴하고자 했다. 그런데 생각해보니 3일 때는 수박수, 4일 때는 수박수박이 나와야하는데 내 방식대로 할 경우 3을 입력하면 박수박 이 리턴될 것이 뻔했다. 배열의 끝 인덱스부터 채우는 느낌으로 stack 개념을 활용한 배열을 사용했다면 할 수 있었겠지만 그렇게까지 비효율적으로? 라는 생각이 ..
단계별 github 연결하기 1. Git 초기화 git init 2. Git Repository 생성 Github 홈페이지에서 진행 3. Repository 연결 git remote add origin username@bitbucket.org/myname/myproject.git 4. 연결된 Repository 확인 git remote -v (fetch, push 총 두 줄이 뜨면 완료) 5. pull 받아 git history 동기화 git pull origin main 6. git add git add . (스테이지에 모든 파일을 올림) 7. git commit git commit -m "FirstCommit" (최초 커밋) 8. git push git push origin main (origin 저..
문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]_b[0] + a[1]_b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 1차 고민 map을 사용해서 새로운 배열을 리턴해야겠다는 생각은 들었다. 그리고 그 모든 배열의 합을 더해야하는데 평소같으면 for문 돌려서 result에 더했겠지만 reduce를 사용해서 합을 내기로 했다. 1차 코드 import Foundation func solution(_ a:[Int], _..
문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 1차 고민 arr.count가 1이면 바로 return [-1]하면 될 것 같은데 문제는 나머지 계산 과정에서 배열의 인덱스를 제거하는 방법이 기억나지 않는다. 시작부터 구글링을 통해 여러 방법을 찾아보는데 특정 조건을 가지고 걸러낼 수 있는 filter라는 고차함수가 있었다. 제일..
오늘의 배움 오늘은 textField 다루는 방법에 대해서 공부했다. textField는 입력 자체를 OS에서 관리하는 부분이기 때문에 textField의 deligate(위임자)를 self( override된 viewDidLoad 자신)로 지정해야한다. 그리고 viewDidLoad에 보였던 setup() 함수의 내용은 이렇다. 보통 textField의 내용이나 모양을 건드리는건데 중요한 건 제일 아래 textField.becomeFirstResponder이다. textField를 첫 번째 응답자로 지정하게되면 사용자가 화면에서 가장 먼저 응답해야할 항목이 textField가 되기 때문에 키보드가 자동으로 올라오게된다. 이렇게 키보드가 내려간다! 물론 다시 textField를 터치하면 올라온다. 이후에 ..
문제 설명 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다. 받은 1병과 5병을 받았을 때 남은 1병을 모두 마신 뒤 가져가면 1병을 또 받을 수 있..
KBO Application 고민 1 문득 그런 생각이 들었다. 배경 색이 연하면 상관이 없겠지만 강력한 단색을 사용하는 팀의 경우 아래에 내용을 적어내기엔 가독성이 현저히 떨어질 것 같다는 생각. 그래서 제목 테두리 정도만 팀 컬러를 사용하고 나머지는 흰색으로 통일해야겠다! 해결 단계 1 상단에 팀 로고와 팀명이 쓰여지는 곳보다 조금 더 크게 label을 깔았다. (배경색을 일부만 변경하는 방법을 몰라서 Label을 사용하고 labelColor를 이용했다...ㅠ) 구속도 원하는 위치에 꼼꼼하게 잡고 해당 Label을 15번줄 backgroundLabel이라고 선언해주었다. 그리고 바꾸는 김에 viewDidLoad 내부가 너무 많아지는 것 같아서 View Controller와 똑같이 detailSetup..
문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건..
문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 phone_number는 길이 4 이상, 20이하인 문자열입니다. 1차 코드 import Foundation func solution(_ phone_number:String) -> String { var number = phone_number.map { String($0) } for i in 0..
오늘의 목표 앱 강의를 통한 델리게이트 패턴 이해 및 TextField를 다루는 코드 입력 기본 레이아웃 설정 가장 기본이 되는 레이아웃을 설정하였다. TextField 생성과 Button을 Stack View로 묶어주고 Constraint를 180 30 30, 높이 48, Spacing 15, Button Width 65로 설정하였다. View Controller로 넘어와서 IBOutlet에 textField라는 이름으로 생성해두었다. 이후 viewDidLoad 창에서 사용할 기능이 많았기에 setup()으로 설정하고 아래에 func setup() { }을 생성해두었다. 아주 사소하지만 중요한 팁이라고 생각되는데, 이럴거면 저번 주 목요일에 만든 KBO에도 적용시키면 좋았겠다는 생각이 들었다. 이후 ..
sngsp
'분류 전체보기' 카테고리의 글 목록 (5 Page)