68. 콘솔에서 0이 입력 될 때 까지 계속 정수를 입력받고 출력하기

입력 범위 : -2147483648 ~ 2147483647

입력 예시

7 4 2 3 0 1 5 6 9 10 8

출력 예시

7

4

2

3

0

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int value = -1;
		while(value != 0 ) {
			value = scan.nextInt();
			System.out.println(value);
		}
		scan.close();		
	}
}

Swift 4.2

import Foundation

func searchAndPrint(line:String) -> Bool{
    var flag = true //0 이 입력되면 false
    let valueArray = line.split(separator: " ")
    for value in valueArray {
        if let temp = Int(value) {
            print(temp)
            if temp == 0 {
                flag = false
                break;
            }
        }
    }
    return flag //true : 0 값이 존재, false : 0 값이 없음
}

var flag = true //0 이 입력되거나 nil이 입력됬을경우 false
while flag {
    let line = readLine()
    if line != nil {
        flag = searchAndPrint(line: line!)
    } else {
        flag = false
    }
}

이번문제는 스위프트쪽에서 조금 문제가 있습니다.

더 찾아보면 사실 있을지도 모릅니다만 표준 입력장치로 정수입력을 받는 함수가 따로 안보이네요.

readLine()으로는 그냥 입력받는다고 해도 이게 하나만 입력될지 여러개가 동시에 입력될지 모르기에

처리해주는걸 저렇게 해줘봤습니다.break문은 써진곳의 반복문을 탈출하는거에요 나중에 이걸쓰라는 문제자체가 나올거같긴한데

그냥 이야기해봤습니다.

이 글들이 스위프트 입문하시는 분들께 도움이 됐으면 좋겠네요.

한국자료는 그렇게 많이 안보여서;;;

추가 -

원래부터가 c언어 학습용으로 만들어진 문제라 c언어 문법 문제들입니다.

이번은 문제는 goto문 사용에 대한 문제인데

이걸 while문으로 대체했습니다.

https://codeup.kr/problem.php?id=1071

+ Recent posts