잡초의 일지

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

[코딩] 하는것/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
Comments