[코딩] 하는것/Swift

[Swift] 입력받은 문자열 잘라서 출력하기.

JabCho 2020. 2. 18. 15:28
728x90
반응형
SMALL

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개이기 때문에 에러가 나는거였다.

 

아, 그리고 정말 힘들게 알아내고 배우신 정보들을 이렇게 인터넷에 친절히 써주신다는것이 너무 감사하다. 

 

요즘 스위프트가 너무 재밌어서 이거만 하는거 같다. 자바도 해야지

728x90
반응형
LIST