[Swift] 입력받은 문자열 잘라서 출력하기.
a ~ z 까지 공백없이 입력받은 문자열을 Array를 이용하여 배열로 만들었다.
https://zeddios.tistory.com/126
Swift3 ) How to convert string to an array in Swift ( 문자열을 배열로 바꾸는 방법)
안녕하세요 :) 오늘은 문자열을 배열로 바꾸는 방법을 알려드리고자 합니다. 간단해요! 1. Array로 타입변환 import Foundation let str = "hello, zedd" let arr = Array(str.characters) print(arr) //["h", "e"..
zeddios.tistory.com
이곳에서 도움을 받았고, 문자열을 배열로 바꾸는 다른 방법들도 있다.
import Foundation //입력된 문자 10개씩 출력하기
var line = readLine()
if let a = line { //입력받은 line을 옵셔널 바인딩 해서 a 라고 해주고
let arr = Array(a) //map은 코드를 쓰기가 귀찮아서 그냥 간단한 Array로 썼다.
var start = 0
var fin = 9
for _ in 0...arr.count/10 {
for i in start...fin {
print(arr[i])
}
start = start+10
fin = fin+10
print()
}
}
근데 또 이렇게 보니까 10개가 뽑히긴 하는데, 다 newline으로 뽑힌다.
그래서 또 도움을 받았다.
https://zeddios.tistory.com/86
Swift3 ) print시 newline으로 안하는 법.
안녕하세요. 자꾸;;새로운 사실들을 알게돼서 글을 쓰게 만드네요 swift는...핳 X보다 작은 수를 푸는데... 출력이 이런식으로 나와야합니다... 그런데... 제 출력.....ㅎ ㅎㅎㅎㅎ;; print라는 아이는..친절하..
zeddios.tistory.com
출력할때 조건을 줘서 newline이 되지 않게 한다.
그래서
이렇게 된다.
import Foundation
var line = readLine() //입력된 문자 10개씩 출력하기
if let a = line { //입력받은 line을 옵셔널 바인딩 해서 a 라고 해주고
let arr = Array(a) //map은 코드를 쓰기가 귀찮아서 그냥 간단한 Array로 썼다.
var start = 0
var fin = 9
for _ in 0...arr.count/10 {
for i in start...fin {
print(arr[i], terminator: " ") //terminator를 써서 공백을 사이에 두고 10개씩 출력하게 했다.
}
start = start+10
fin = fin+10
print()
}
}
근데 저 fatal error는 왜 생기는걸까.. 좀 자고 다시 생각해봐야겠다. 커피를 너무 마셨나 글자가 안읽힌다.
+) 에러가 생기는 이유 : arr를 출력하는 for문에서 무조건 10번 출력하도록 해서 그렇다. 그래서 u ~ z 까지는 6개이기 때문에 에러가 나는거였다.
아, 그리고 정말 힘들게 알아내고 배우신 정보들을 이렇게 인터넷에 친절히 써주신다는것이 너무 감사하다.
요즘 스위프트가 너무 재밌어서 이거만 하는거 같다. 자바도 해야지