728x90
for 문이 익숙하지가 않아서 그런지... 은근히 시간을 많이 잡아먹었다. 여러번 풀어보면서 익숙해져야 할듯!
* 2739번
1)
let a: Int = Int(readLine()!)!
for i in 1...9 {
print("\(a) * \(i) = \(a * i)")
}
- for문을 처음 작성할 때 헷갈렸던 점은, for 문에서 쓰이는 i와 같은 임시(?)변수를 정의해주지 않고 바로 사용 가능하냐는 것이었다. 변수에 대한 정의를 계속 머릿속에 염두해두고 있다보니 i라는 변수를 특정 문자열로 정의해주지 않고 써도 될지에 고민했었음.
* 10950번
1)
let a: Int = Int(readLine()!)!
for _ in 1...a{
var b: [Int] = []
b = readLine()!.split(separator: " ").map{Int($0)!}
print(b[0] + b[1])
}
- 이 문제는 일단 문제 자체를 제대로 이해하지 못했었다.
- 1) 테스트케이스 갯수를 먼저 입력.
- 2) 테스트케이스 갯수 만큼 띄어쓰기 적용하여 값 입력
- 3) 예를들면 5(테스트케이스) 입력 후 1 1 엔터 2 2 엔터 3 3 엔터 4 4 엔터 5 5 엔터
- 4) 이렇게 했을때 답이 출력되게 만드는 문제인줄 알았다.
- 그래서 readLine()선언을 n번 만큼 반복문으로 돌리고 입력값에 대한 출력값도 5번이 print될 수 있도록 계속 시도하였으나... 입력문을 n번 반복시키는건 아직 내 능력밖의 일인가 보다...? 잘 모르겠다 ㅠㅠ 나중에 도전해봐야겠다.
- 입력 -> 출력 -> 입력 -> 출력 ... n번 반복으로 고민하면 풀 수 있을 문제이다.
- 또한 이 문제에 나온 for _ (언더바, 와일드카드)의 개념을 이해하고자 for문 내용을 글로 정리하였다.
정리(Today I Learned)
- 문제를 쉽게 바라보면 답도 쉽게 나온다!
- for문은 swift 내에서 대체될 수 있는 요소들이 많아서 생각보다 잘 안쓰이는 것 같기도 하다
- 와일드카드는 말그대로 어떤 요소가 올지 모르는 것을 대비하여 사용하는 식별자이다.
'TIL > 알고리즘 공부' 카테고리의 다른 글
백준 11021, 11022번 Swift 알고리즘 연습 (0) | 2022.03.25 |
---|---|
백준 8393, 2741, 2742번 Swift 알고리즘 연습 (0) | 2022.03.25 |
백준 2525, 2480번 Swift 알고리즘 연습 (0) | 2022.03.22 |
백준 2753, 14681, 2884번 Swift 알고리즘 연습 (0) | 2022.03.21 |
백준 1330, 9498번 Swift 알고리즘 연습 (0) | 2022.03.18 |