import Foundation
let inp = readLine()!.components(separatedBy: [" "]).map { $0 }
let (s1, a) = (inp[0], Int(inp[1])!)
var resultStr: String = ""
for _ in 0 ..< a {
resultStr += s1
}
print(resultStr)
다른 코드
import Foundation
let inp = readLine()!.components(separatedBy: [" "]).map { $0 }
let (s1, a) = (inp[0], Int(inp[1])!)
print(String(repeating: s1, count: a))
- 챗 gpt의 해설
이 코드는 사용자로부터 문자열과 숫자를 입력 받아서 입력한 문자열을 입력한 숫자만큼 반복해서 출력하는 기능을 수행합니다.
import Foundation: Foundation 프레임워크를 가져옵니다. 이 프레임워크는 Swift에서 문자열 다루기와 같은 작업을 수행하는 데 도움이 됩니다.
let inp = readLine()!.components(separatedBy: [" "]).map { $0 }: readLine() 함수를 사용하여 사용자로부터 입력을 받습니다. 입력은 공백으로 구분된 문자열과 숫자여야 합니다. components(separatedBy: [" "])를 사용하여 입력된 문자열을 공백을 기준으로 나눕니다. map { $0 }를 사용하여 나눠진 문자열을 배열로 만듭니다.
(s1, a) = (inp[0], Int(inp[1])!): inp 배열의 첫 번째 요소는 문자열이므로 s1에 저장하고, 두 번째 요소는 숫자로 변환하여 a에 저장합니다. 이때 Int() 함수를 사용하여 문자열을 정수로 변환합니다. 사용자가 유효한 숫자를 입력하지 않으면 오류가 발생할 수 있으므로 !를 사용하여 옵셔널 해제를 수행합니다.
String(repeating: s1, count: a): 입력한 문자열 s1을 입력한 숫자 a번 만큼 반복하여 새로운 문자열을 생성합니다.
print(...): 생성된 문자열을 출력합니다.
4번 추가 해설
네, String(repeating: s1, count: a) 부분은 문자열을 반복해서 생성하는 역할을 합니다. 이것은 Swift의 String 클래스의 생성자를 사용하여 수행됩니다.
repeating: 반복할 문자열을 지정합니다. 이 경우에는 입력된 문자열 s1이 사용됩니다.
count: 반복 횟수를 지정합니다. 이 경우에는 입력된 숫자 a가 사용됩니다.
따라서 String(repeating: s1, count: a)는 입력된 문자열 s1을 입력된 숫자 a번 반복하여 새로운 문자열을 생성합니다. 이후 print 함수를 사용하여 생성된 문자열을 출력합니다.
점심에 너무 졸려서 30분만 자고 일어나서 밥 먹어야지 했는데 일어나 보니 오빠 놈이 지는 양념삼겹살 혼자 꿔 처먹고 나한테는 웬 치즈떡이나 먹으라 그래서 어이가 돌아가실 뻔했다. 니는 오빠인 거에 감사해라 동생이었음 허리를 거꾸로 접어버렸을
오후에는 실습을... 했다. 헬난이도
챗 gpt 멱살을 붙들고 오류 대파티를 벌였는데, 얘도 인간이 참 답답했을 것이다. 인간시대의 끝이 도래했다고 하면 어쩌지. 물론 얘는 3.5라 아직 멍청해서 못할 것이다.
원래 실습 시간에 강사님이 보여주시면 따라 치곤 했는데, 오늘은 짜놓은 코드랑 너무 달라져서 그냥 보기만 했다... 아니 실습 설명에 파일 따로 만들라그래서 다 분리해 놨는데 합쳐서 보여주시면 저는 어떡하나요(억울)
내일은 오후에 실습 대신 UI 강의가 있다고 한다. 내일은 점심시간에 자지 말고 커피 사 와야겠다... 집 근처 1리터 아메리카노는 2,000원인데 포장하면 500원 할인해서 1,500원이다. 엄마한테 얘네는 이렇게 팔아서 뭐 먹고살지 하니까 엄마가 모든 사람들이 너처럼 커피만 먹지는 않는다고 했다. 그리고 옆에 있던 동생 "난 생딸기라떼만 먹는데" 생딸기라떼는 5,500원이다. 그래 너가 1리터의 희망이다.
어제 멘토링에서는 현직자이신 멘토님께 질문 폭격을 했다. 물론 나 말고 다른 멘티분들이... 궁금한 게 참 많기도 하다 싶었다. 그래서 나도 안 하면 아쉬울 거 같아서 그냥 코테나 기술면접 같은 거 여쭤봤다. 코테 준비는 무엇보다 꾸준함이 중요하다 하셨고, 기술면접은 swift 문법을 아는 게 중요하다고 하셨던 것 같다 < ? 어제 적은 거 노션에 있으니 그쪽 참고
그래서 거의 11시에 끝났고... 멘토님도 멘토링 초반에 이렇게 질문 많은 건 처음이시라고. 물론 질문은 많은 게 좋다고 하셨다.
앞으로 강의 열심히 들으면서 멘토링도 열심히 하는 걸로...
아 그리고 더는 미룰 수 없다 너의 알고리즘
내 프로그래머스 계정이... 있나...? 휴면 메일 왔던 거 같은데(눈물
+) 요즘 쉬는 시간 점심시간에 자면 자꾸 일어나서 수업 들어야 되는 꿈 꾼다... 테러블 호러블
멘토링 날짜가 정해져서 팀원분들이랑 어떤 방향으로 진행할지 회의를...^^ 어제에 이어서 1시간 정도...?
아 심심한 귀를 위해 스듀 영상 틀어놨더니 하고 싶어 져서 끄고 왔다. 더 이상 미룰 수 없다 너의 복습
1. 버튼
- 버튼 모양은 텍스트 뷰, 라벨 슈 또는 이미지 뷰와 함께 다양한 수정자로 커스터마이징 할 수 있음
- 세그먼트 컨트롤: 여러 옵션 중 하나를 선택할 수 있도록 하는 iOS 앱의 사용자 인터페이스 요소(출처: 챗 GPT).
- @State 변수를 사용하여 사용자가 선택한 세그먼트를 추적함.
- 버튼 || 세그먼트 컨트롤의 선택에 따라 @State 변수의 값을 변경하여 사용자 인터페이스를 동적으로 업데이트할 수 있음 (<< 이거 되게 신기하더라. 안드로이드 스튜디오 할 때 되게 씨름했던 것 같은데)
- .onChange 수정자로 변경사항에 따라 추가 코드 실행
2. 텍스트
- Swift에서 텍스트 수집은 텍스트 필드, 보안 필드, 텍스트 에디터 세 가지 뷰로 이루어짐.
- 텍스트 필드: 한 줄 입력
- 보안 필드: 입력된 텍스트 마스킹 처리
- 텍스트 에디터: 여러 줄 입력
- 기타 사용할 수 있는 수정자는 책이나 공식문서 참고
여기까지 쓰고 생각난 게 왜 강의 들으면서 필기한건 안 보고 이러고 있는 거지? 그야 강의 시간엔 코드만 따라쳤..으니까
아니 그래도 쓴 게 있긴 한데 이미 늦었다
3. 멘토링
문제의 멘토링... 팀 목표랑 멘토링에서 바라는 점 정하는데 참... 채팅으로만 대화하려니까 힘들었다. 오죽했으면 내가 마이크를 켜고 얘기했을까... 솔직히 답답해 돌아가실 뻔... 그나마 내가 팀장이 아닌 게 다행이지. 사다리는 아직 날 버리지 않았다. 아무튼... 책 5 챕터를 각자 공부하고 최대 일요일까지 정리 자료를 공유하기로 했다 ^o^
아무래도 실습 위주로 진행 중이라 개념 같은 건 정리하기 애매하다. 저거 강의자료 보고 정리한 건데
그럼 코드를 치면 되지 않느냐? 지금 맥북이 아니라 곤란; 언제쯤 맥북에 프로페셔널 해질까... 뉴비는 오늘도 슬프다.