1017 : [기초-입출력] 정수 한 개 입력받아 세 번 출력하기  with Swift

14. 콘솔에서 정수를 한 개 입력 받고 이를 3번 출력하라.

입력 예시

125

출력 예시

125 125 125

JAVA

1

2

3

4

5

6

7

8

9

10

import java.util.Scanner;

 

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int value1 = scanner.nextInt();

        scanner.close();

        System.out.println(value1 + " " + value1 + " " + value1);

    }

}

Colored by Color Scripter

cs

 

Swift 4.2

1

2

3

4

5

6

7

import Foundation

let line = readLine()

if line != nil {

    if let value = Int(line!) {

        print("\(value) \(value) \(value)")

    }

}

Colored by Color Scripter

cs

 

 

앞으로 대략 85문제 남았는데 계속 이런것만 하진 않을까 걱정됩니다..

알고리즘 문제는 언제 나오려나

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

 

[기초-입출력] 정수 한 개 입력받아 세 번 출력하기

printf("%d %d %d", a, a, a); 와 같은 방법으로 한 변수의 값을 여러 번 출력할 수 있다.

codeup.kr

 

 

 

 

 

1018 : [기초-입출력] 시간 입력받아 그대로 출력하기 with Swift

 

15. 콘솔에서 시간이 특정 형식에 맞추어 입력될때 그대로 출력하시오.

입력 - 시와분 이  :  으로 구분되어 입력됨.

입력 예시

3:16

출력 예시

3:16

JAVA

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import java.util.Scanner;

import java.util.regex.Pattern;

 

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String pattern = "^[0-9]*:[0-9]*$";

        

        String line = scanner.nextLine();

        scanner.close();

        if(Pattern.matches(pattern, line)) {

            System.out.println(line);

        }

    }

}

Colored by Color Scripter

cs

 

Swift 4.2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

import Foundation

//print("입력: ")

let line = readLine()

//var line:String? = "adsf1:30asdf"

if line != nil {

    let p = "[0-9]*:[0-9]*"

    do {

        let regex = try NSRegularExpression(pattern: p)

        let results = regex.matches(in: line!, options: [], range: NSRange(line!.startIndex..., in: line!))

        let arry = results.map { (cheking) -> String in

            return String(line![Range(cheking.range, in: line!)!])

        }

        if arry.count > 0 {

            print(arry.first!)

        }

    }catch let err {

        print("ERROR: \(err.localizedDescription)")

    }

}

Colored by Color Scripter

cs

이번건 쪼....금 이것저것 벗어나버렸습니다. 그냥 문자열에서 "숫자:숫자" 형식을 가진녀석 을 뽑아내는 코드가 되버렸네요.

원래 문제의 의미는 형식을 갖춘 입력받기! 뭐 그런거 같아서 자바쪽도 그러한 형식 아니면 출력하지마! 라고 막아놨지만

스위프트 쪽은 약간 다르게 문자열에서 해당 형식을 뽑아내는식으로 해봤습니다.

혹시나 몇개 더있을경우 첫번째꺼만 출력해라 라고 적었네요.

정규식 사용에 대해 공부해본 좋은 문제였습니다.

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

 

[기초-입출력] 시간 입력받아 그대로 출력하기

scanf( ) 함수는 형식(format)에 맞추어 입력 받는 함수이기 때문에 입력 받고자 하는 형식에 맞게 적어주면 된다. [예시] scanf("%d:%d", &h, &m); //h와 m에 값이 10진수로 저장된다.

codeup.kr

 

 

 

 

 

1019 : [기초-입출력] 년월일 입력받아 형식에 맞게 출력하기 with Swift

16. 콘솔에서 년,월, 일을 입력받아 형식에 맞게 출력하라.

입력 - 년.월.일

출력 - yyyy.mm.dd

입력 예시

2012.1.1

2012.01.01

출력 예시

2012.01.01

2012.01.01

JAVA

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

import java.util.Scanner;

import java.util.regex.Pattern;

 

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String pattern = "^[0-9]*.[0-9]*.[0-9]*$";

        

        String line = scanner.nextLine();

        scanner.close();

        if(Pattern.matches(pattern, line)) {

            String[] dotPars = line.split("\\.");

            System.out.println(dotPars.length);

            int year = Integer.parseInt(dotPars[0]);

            int month = Integer.parseInt(dotPars[1]);

            int day = Integer.parseInt(dotPars[2]);

            System.out.println(String.format("%04d.%02d.%02d", year,month,day));

        }

        

    }

}

Colored by Color Scripter

cs

 

Swift 4.2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

import Foundation

let line = readLine()

//var line:String? = "2012.1.1"

if line != nil {

    let p = "^[0-9]*.[0-9]*.[0-9]*.[0-9]*$"

    do {

        let regex = try NSRegularExpression(pattern: p)

        let results = regex.matches(in: line!, options: [], range: NSRange(line!.startIndex..., in: line!))

        let arry = results.map { (cheking) -> String in

            let str = String(line![Range(cheking.range, in: line!)!])

            let arry = str.split(separator: ".")

            if arry.count > 2 {

                let y = Int(arry[0])

                let m = Int(arry[1])

                let d = Int(arry[2])

                guard y != nil, m != nil, d != nil else {

                    return ""

                }

                return String.init(format:"%04d.%02d.%02d",arguments:[y!,m!,d!])

            } else {

                return ""

            }

        }

        if arry.count > 0 {

            print(arry.first!)

        }

    }catch let err {

        print("ERROR: \(err.localizedDescription)")

    }

}

Colored by Color Scripter

cs

 

이번에는 지난문제 코드에서 단순히 패턴과 출력 형식만 바꿔줬습니다....

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

 

[기초-입출력] 년월일 입력받아 형식에 맞게 출력하기

입력받은 년, 월, 일을 출력한다. 단, 자릿수는 yyyy.mm.dd형태로 출력한다. (입출력 예시 참고, %02d를 사용하면 2칸을 사용해 출력하는데, 1자리 수인 경우 앞에 0이 붙어 출력된다.)

codeup.kr

 

1013 : [기초-입출력] 정수 두 개 입력받아 그대로 출력하기 with Swift

 

11. 콘솔에서 정수 두 개를 입력받아 그대로 출력하라.

두 개의 정수가 공백으로 구분되어 입력된다.

입력 예시

1 2

출력 예시

1 2

JAVA

1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int value1 = scanner.nextInt();
        int value2 = scanner.nextInt();
        System.out.println(value1 + " " + value2);
        scanner.close(); 
    }
}
 
cs

 

Swift 4.2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import Foundation
 
func parseLine(str:String-> [Int]{
    var resultValue = [Int]()
    let temprorary = str.split(separator: " ")
    for sub in temprorary {
        if let value = Int(sub) {
            resultValue.append(value)
        }
    }
    return resultValue
}
 
let line = readLine()
if line != nil {
    let resultValue:[Int= parseLine(str: line!)
    if resultValue.count > 1 {
        print(String.init(format: "%d %d", resultValue[0],resultValue[1]))
    }
}
cs

 

 

솔직히 입력받는거에 readLine 말고 다른게 있을수도 있습니다;;

자바의 nextInt() 같은 편리한게요.

하지만 입력 부분을 대충 검색해봤는데 안보여서 그냥 readline으로 받고 스페이스를 기준으로 파싱해서 출력했습니다.

 

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

 

[기초-입출력] 정수 두 개 입력받아 그대로 출력하기

int a, b; scanf("%d %d", &a, &b); printf("%d %d", a, b); 와 같은 방법으로 가능하다.

codeup.kr

 

//추가-

기존에 올렸던 블로그의 소스에서 한줄입력을 받고 나누는 부분을 따로 함수로 밖으로 빼내어 올리겠습니다

 

 

1014 : [기초-입출력] 문자 두 개 입력받아 순서 바꿔 출력하기 with Swift

12. 콘솔에서 두 개의 문자를 입력 받은 후 순서를 바꿔 출력하라.

입력 예시

A b

출력 예시

b A

JAVA

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

import java.util.Scanner;

 

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String line = scanner.nextLine();

        scanner.close();

        

        String[] words = line.split(" ");

        if(words.length == 2) {

            String resultString = new String();

            for (int i = words.length - 1; i >= 0--i) {

                resultString += " " + words[i];

            }

            System.out.println(resultString.trim());

        }

         

    }

}

Colored by Color Scripter

cs

 

Swift 4.2

1

2

3

4

5

6

7

8

9

10

11

12

import Foundation

let line = readLine()

if line != nil {

    var temporary = line!.split(separator: " ")

    temporary.reverse()

    

    var resultString = String()

    for sub in temporary {

        resultString.append(" \(sub)")

    }

    print(resultString.trimmingCharacters(in: .whitespaces))

}

Colored by Color Scripter

cs

 

스위프트는 이전과 비슷하게됐네요.

이번은 자바에서도 다른 좋은게 있지않을까 생각되지만, 찾아보기도 귀찮아졌습니다.

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

 

[기초-입출력] 문자 두 개 입력받아 순서 바꿔 출력하기

char x, y; scanf("%c %c", &x, &y); printf("%c %c", y, x); //출력되는 순서를 작성 와 같은 방법으로도 해결할 수 있다.

codeup.kr

 

 

 

 

 

 

 

1015 : [기초-입출력] 실수 한 개 입력받아 소수점 이하 둘째 자리까지 출력하기 with Swift

 

13. 콘솔에서 실수(float)를 한 개를 입력받아 소수점 이하 3째 자리에서 반올림하여 2째 자리까지 출력하시오.

입력 예시

1.59654

출력 예시

1.60

JAVA

1

2

3

4

5

6

7

8

9

10

import java.util.Scanner;

 

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        Double value1 = scanner.nextDouble();

        System.out.println(String.format("%.2f", value1));

        scanner.close();

    }

}

Colored by Color Scripter

cs

 

Swift 4.2

1

2

3

4

5

6

7

8

import Foundation

let line = readLine()

if line != nil {

    if let floatValue = Double(line!) {

        let printValue = String.init(format:"%.2f", arguments: [floatValue])

        print(printValue)

    }

}

Colored by Color Scripter

cs

 

이전에 소수점자리 0으로 채우기에서 그냥 .2f로 변경한거네요..

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

 

[기초-입출력] 실수 한 개 입력받아 소수점 이하 둘째 자리까지 출력하기

double로 변수를 선언한 경우 %.2lf로 출력하고, float으로 변수를 선언한 경우 %.2f로 출력하면, 소수점 3째 자리에서 반올림 하여 2째 자리까지 출력할 수 있다.

codeup.kr

 

 

 

 

1010 : [기초-입출력] 정수 한 개 입력받아 그대로 출력하기 with Swift

 

8. 콘솔에서 정수값 한개를 입력받고, 입력받은 값을 그대로 출력하라

입력 예시

15

출력 예시

15

 

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int value1 = scanner.nextInt();
        scanner.close();
		System.out.println(value1);
	}
}

 

Swift 4.2

import Foundation
let line = readLine()
if line != nil {
    if let value = Int(line!) {
        print(value)
    }
}

 

이번은 플레이그라운드에서 실행할수 없어서 Mac의 커맨드라인프로젝트로 생성하였습니다.

ios만드는거로 바로 시작해서 표준입력받는건 처음이네요.

여담으론 숫자 이외의 다른게 들어왓을때의 처리를 안해줘서 오답처리나올줄알았는데

정답이 나왔습니다 ;;

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

 

[기초-입출력] 정수 한 개 입력받아 그대로 출력하기

키보드로 입력한 정수값을 그대로  출력하는 프로그램을 작성해보자.

codeup.kr

 

 

 

 

1011 : [기초-입출력] 문자 한 개 입력받아 그대로 출력하기 with Swift

 

9. 콘솔에서 키보드로 문자 한 개를 입력하고, 그대로 출력하라.

입력 예시

p

출력 예시

p

JAVA

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String value1 = scanner.next();

        scanner.close();

        System.out.println(value1);

    }

}

 

Swift 4.2

import Foundation
let line = readLine()
if line != nil { print(line!) }

이번 역시 맥 커맨드라인 프로젝트로 생성하였습니다.

왜 코드업 기초100제 추천영상에서 초중고 처음 접하는사람에게 추천! 이라는 말이 들어있었는지 9번문제부터 깨달았습니다.

 

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

 

[기초-입출력] 문자 한 개 입력받아 그대로 출력하기

키보드로 입력한 문자를 그대로 출력하는 프로그램을 작성해보자.

codeup.kr

 

 

 

 

 

1012 : [기초-입출력] 실수 한 개 입력받아 그대로 출력하기 with Swift

 

10. 콘솔에서 키보드로 소수점 6자리 이하의 실수를 한개 입력받고, 그대로 출력하라.

입렵 예시

1.414000

출력 예시

1.414000

JAVA

1

2

3

4

5

6

7

8

9

10

11

import java.util.Scanner;

 

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        Double value1 = scanner.nextDouble();

        System.out.println(String.format("%.06f", value1));

        scanner.close();

    }

}

 

Colored by Color Scripter

cs

 

Swift 4.2

1

2

3

4

5

6

7

8

import Foundation

let line = readLine()

if line != nil {

    if let floatValue = Double(line!) {

        let printValue = String.init(format:"%.06f", arguments: [floatValue])

        print(printValue)

    }

}

Colored by Color Scripter

cs

소수점 6자리까지 깔끔히맞춰서 출력하는 문제였습니다.;;

솔직히 의미가 있나 싶은 코드이긴한데 뭐 까라면 까야죠

스위프트로 콘솔쪽 입출력은 해본적이 없어서 여러가지로 새롭네요

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

 

[기초-입출력] 실수 한 개 입력받아 그대로 출력하기

키보드로 입력한 실수(소수점이 있는 수)를 그대로 출력하는 프로그램을 작성해보자.

codeup.kr

 

 

 

 

1005 : [기초-출력] 출력하기05 with Swift

 

5. 콘솔에 다음내용을 출력하라!

"Hello World"

(주의: 큰 따옴표(")도 함께 출력되어야 한다.)

JAVA

public class Main {
	public static void main(String[] args) {
		System.out.println("\"Hello World\"");
	}
}

 

Swift 4.2

print("\"Hello World\"")

 

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

 

CodeUp

☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks       DEV C++ ☆ 추천 온라인 IDE : C++11   Python3   Java ☆ 채점 가능 언어 : C, C++, JAVA, Python 3.5 ★ C++로 제출시 void main()을 사용하면 컴파일 오류! → int main() 또는 main() ★ 정답외에 불필요한 출력은 잘못된 풀이!  예) "입력", "출력", "정답은 ~입니다." → 오답 처리 

codeup.kr

 

 

 

 

 

1007 : [기초-출력] 출력하기07 with Swift

7. 콘솔에 다음 내용을 출력 하시오!

"C:\Download\hello.cpp"

(주의 : 백 슬래시문자(\) 도 출력되어야 한다. 백 슬래시 문자는 글꼴에 따라 '₩' 로 출력되기도 하지만, 같은 문자이다.)

 

JAVA 

public class Main {
	public static void main(String[] args) {
		System.out.println("\"C:\\Download\\hello.cpp\"");
	}
}

 

Swift4.2

print("\"C:\\Download\\hello.cpp\"")

 

똑같은거만 벌써 7문제째...

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

 

[기초-출력] 출력하기07

\(back slash) 문자를 "문장"에 넣어 함께 출력하기 위해서는, 문자를 출력하려는 부분에 \\로 표시해 주어야한다. \가 앞에 붙는 문자를 이스케이프(escape) 문자라고 하며 그 위치에서, 미리 지정되어있는 의미에 따라 동작하도록 한다. \\, \n, \t, \b, \r, \a ... 등이 있다. 예시 printf("\\"); ** 주의 : 본 화면에서 복사하여 붙여넣기하면 제대로 되지 않을 수 있으니 직접 소스코드를 작성해 넣어야한다.

codeup.kr

 

1004 : [기초-출력] 출력하기04  with Swift

 

4. 콘솔에 다음내용을 출력하시오!

'Hello'

(주의 : 작은 따옴표(') 도 출력되어야 한다.)

java

public class Main {
	public static void main(String[] args) {
		System.out.println("'Hello'");
	}
}

 

Swift 4.2

print("'Hello'")

 

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

 

[기초-출력] 출력하기04

printf( ) 함수로 "문장" 안에서 작은 따옴표(')를 출력하기 위해서는 작은 따옴표를 출력하려는 부분에 \'를 넣어주어야 한다. \'  는 따옴표 출력 \" 는 큰 따옴표 출력 ... 등 등. 왜냐하면, 문자나 문장을 나타내는 기호들이 쓰이는데 그 기호들과 문자로서의 따옴표를 확실히 구분해 주기 위해서이다. 예시 printf("\'"); ** 주의 : 본 화면에서 복사하여 붙여넣기하면 제대로 되지 않을 수 있으니 직접 소스코드를 작성해 넣어야한다.

codeup.kr

 

 

 

 

 

1005 : [기초-출력] 출력하기05 with Swift

5. 콘솔에 다음내용을 출력하라!

"Hello World"

(주의: 큰 따옴표(")도 함께 출력되어야 한다.)

JAVA

public class Main {
	public static void main(String[] args) {
		System.out.println("\"Hello World\"");
	}
}

 

Swift 4.2

print("\"Hello World\"")

 

 

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

 

[기초-출력] 출력하기05

printf( ) 함수로 "문장" 안에서 큰 따옴표(") 를 출력하기 위해서는 큰 따옴표를 출력하려는 부분에 \" 를 넣어주어야 한다. 왜냐하면, 문자나 문장을 나타내는 기호들이 쓰이는데 그 기호들과 문자로서의 따옴표를 확실히 구분해 주기 위해서이다. 예시 printf("\""); ** 주의 : 본 화면에서 복사하여 붙여넣기하면 제대로 되지 않을 수 있으니 직접 소스코드를 작성해 넣어야한다.

codeup.kr

 

 

 

 

1006 : [기초-출력] 출력하기06 with Swift

 

6. 콘솔에 다음 내용을 출력 하시오!

"!@#$%^&*()"

(주의 : 특수 문자를 출력하시 위한 방법들이 약간씩 다르니 주의하도록 한다.)

JAVA

public class Main {
	public static void main(String[] args) {
		System.out.println("\"!@#$%^&*()\"");
	}
}

 

Swift 4.2

print("\"!@#$%^&*()\"");

 

계속 출력문 쓰는 문제만있으니 노가다하는 기분이네요.

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

 

[기초-출력] 출력하기06

%(percent sign) 문자를 "문장"에 넣어 함께 출력하기 위해서는,  문자를 출력하려는 부분에 %%로 표시해 주어야 한다. % 가 앞에 붙는 문자를 형식 지정자(format specifier)라고 하며, 그 위치에서 미리 지정되어있는 형식에 따라 어떤 값이나 문자/문자열을 출력해 준다. %c, %d, %f, %s ... 등이 있다. 예시 printf("%%"); ** 주의 : 본 화면에서 복사하여 붙여넣기하면 제대로 되지 않을 수 있으니 직접 소

codeup.kr

 

1001 : [기초-출력] 출력하기01  With Swift

이 카테고리의 처음글 내용대로 처음은 java로 그다음은 swift로 변경하는식으로 갈겁니다.

swift 는 기본적으로 플레이그라운드에서 돌릴꺼며, Foundation이라는 라이브러리를 기본으로 넣은상태로 진행할껍니다.

1. 출력하기

콘솔창에 Hello 를 출력하세요!

 

JAVA

public class Main {
	public static void main(String[] args) {
		System.out.println("Hello");
	}
}

 

 

Swift 4.2

import Foundation
print("Hello")

뒤에 world가 안붙은게 아쉽네요.

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

 

[기초-출력] 출력하기01

C/C++언어에서 가장 기본적인 명령이 텍스트 출력이다. printf( ) 를 이용해 다음 단어를 출력해보자. Hello (단, 글자색은 관계없다.)

codeup.kr

 

 

 

 

1002 : [기초-출력] 출력하기02 with Swift

생각보다 문제가 막 겹치는게 많네요 ...

2. 콘솔창에 Hello World 를 출력해보자! (대소문자에 주의한다.)

JAVA

public class Main {
	public static void main(String[] args) {
		System.out.println("Hello World");
	}
}

Swift 4.2

print("Hello World")

 

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

 

 

 

 

 

1003 : [기초-출력] 출력하기03 With Swift

 

3. 콘솔에 다음 내용을 출력하라!

Hello

World

주의 ( 두 줄에 걸쳐서 줄을 바꿔 출력 )

JAVA

public class Main {
	public static void main(String[] args) {
		System.out.println("Hello\nWorld");
	}
}

 

Swift 4.2

print("Hello\nWorld")

 

 

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

기존 네이버 블로그에 올렸던 코드업100제 스위프트로하기를 이곳에 다시 올려보려고합니다.

하루에 3~4개씩 짬나는 시간에 올려본거라 퀄리티가 높진않습니다

보시는분들이 이건 이렇게 하는게 좋다 라는 수정사항이 있으시다면 언제든지 보내주세요 ㅎ

 

=======추가 

 

코드업 기초100제는 기존 네이버 블로그에서 작성했던글들입니다.

그대로 옴겨오려고했더니

하루 공개 제한 15개가 있어서 조금 힘드네요.

 

기본 3개씩, 같은 주제를 가진 애들이나 같이 쓰기 좋아보이는 애들을 묶어서 올리겠습니다.

 

네이버 블로그에 적다가 개발관련 글은 이쪽에서 작성하기로 했습니다.

이전 보다 더 보시는분이 적을거 같아서 아쉽긴합니다만,

저도 광고한번 달아보고싶어서요 ㅎㅎ

+ Recent posts