개발

문제 설명 길이가 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를 터치하면 올라온다. 이후에 ..
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에도 적용시키면 좋았겠다는 생각이 들었다. 이후 ..
문제 설명 문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다. 예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다. n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다. a는 자신보다 두 칸, 네 칸 앞에 a가 있..
sngsp
'개발' 태그의 글 목록 (4 Page)