https://github.com/morizotter/KeyboardObserver

 

GitHub - morizotter/KeyboardObserver: For less complicated keyboard event handling.

For less complicated keyboard event handling. Contribute to morizotter/KeyboardObserver development by creating an account on GitHub.

github.com

 

매번 Notification으로 받고 하는게 뭔가 안좋아보여서 참고할 오픈소스....

 

나중에 보자

https://xho95.github.io/swift/programming/language/grammar/2017/02/28/The-Swift-Programming-Language.html

 

Swift 5.5: Swift Programming Language (스위프트 프로그래밍 언어)

 

xho95.github.io

애플 공식 swift 5.5 문서를 번역하는 블로그.

'iOS > swift' 카테고리의 다른 글

메모. 스위프트 알고리즘  (0) 2022.01.12
KeyboardObserver~  (0) 2021.10.19
UIPickerView 의 텍스트 색상 변경하는 방법  (0) 2021.06.17
프로그래머스 - 프린터  (0) 2021.05.06
프로그래머스 - 기능개발  (0) 2021.05.05

https://khushwanttanwar.medium.com/xcode-12-compilation-errors-while-running-with-ios-14-simulators-5731c91326e9

 

Xcode 12 Compilation Errors (While running with iOS 14 Simulators)

Migrating to the latest Version 12.0.1 (12A7300) version, while compiling the running project, it gives errors with simulator selected…

khushwanttanwar.medium.com

 

 

m1 mac mini로 기존 프로젝트들이 돌아가는지 테스트중에 

해당 문제가 발생했다.

 

해결은 아래와같이 했다.

  • To do that for Main Project, navigate to Build Settings of your project and add Any iOS Simulator SDK with value arm64 inside Excluded Architecture. (Note: Project, not Target. Adding to Project will automatically add settings to all its Target)

 

감사 그자체

 

88. 콘솔에서 네 개의 정수( a, m, d, n )를 입력받고, a를 시작값 으로갖고 m을 곱하고 d 를 더한 값이 다음값으로 갖는 수열의 n번째 수를 출력하라.

( ex : a , a*m+d, (a*m+d)*m+d, ....)

입력: 1Line 에 공백을 두고 4개의 정수가 입력됨

입력 범위 : a,m,d : -50 ~ 50, n: 1 ~ 10​

입력 예시

1 -2 1 8

출력 예시

-85

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int startNum = scan.nextInt();
		int mulNum = scan.nextInt();
		int addNum = scan.nextInt();
		int targetIndex = scan.nextInt();
		scan.close();
		
		int result = startNum;
		for (int i = 1; i < targetIndex; i++) {
			result *= mulNum;
			result += addNum;
		}
		
		System.out.println(result);
	}
}

Swift 4.2

import Foundation

if let line = readLine(){
    let valueArray = line.split(separator: " ")
    if valueArray.count == 4,
        let startNum = Int(valueArray.first!),
        let mulNum = Int(valueArray[1]),
        let addNum = Int(valueArray[2]),
        let targetIndex = Int(valueArray[3])
    {
        var result = startNum
        for _ in 1 ..< targetIndex {
            result *= mulNum
            result += addNum
        }
        print(result)
    }
}

이전 코드에서 덧셈부분만 추가됏습니다.

음... 수학문제도 프로그래밍으로 풀수있다! 라는걸 알려주려고 낸 문제였을까요?

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

 

 

87. 콘솔에서 세개의 정수( a, r, n )를 입력받고, a를 시작값, r을 등비값으로 가지는 등비수열의 n번째 값을 출력하라.

입력: 1Line 에 공백을 두고 3개의 정수가 입력됨

입력 범위 : 0 ~ 7

입력 예시

2 3 7

출력 예시

1458

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int startNum = scan.nextInt();
		int mulNum = scan.nextInt();
		int targetIndex = scan.nextInt();
		scan.close();
		
		int result = startNum;
		for (int i = 1; i < targetIndex; i++) {
			result *= mulNum;
		}
		
		System.out.println(result);
	}
}

Swift 4.2

import Foundation

if let line = readLine(){
    let valueArray = line.split(separator: " ")
    if valueArray.count == 3,
        let startNum = Int(valueArray.first!),
        let mulNum = Int(valueArray[1]),
        let targetIndex = Int(valueArray[2])
    {
        var result = startNum
        for _ in 1 ..< targetIndex {
            result *= mulNum
        }
        print(result)
    }
}

이전 문제에서 부호랑 변수명만 바꾸었습니다.

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

86. 콘솔에서 세개의 정수( a, d, n )를 입력받고, a를 시작값, d를 등차값으로 가지는 등차수열의 n번째 값을 출력하라.

입력: 1Line 에 공백을 두고 3개의 정수가 입력됨

입력 범위 : 0 ~ 100

입력 예시

1 3 5

출력 예시

13

JAVA

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int startNum = scan.nextInt();
		int addNum = scan.nextInt();
		int targetIndex = scan.nextInt();
		scan.close();
		
		int result = startNum;
		for (int i = 1; i < targetIndex; i++) {
			result += addNum;
		}
		System.out.println(result);
	}
}

 

Swift 4.2

import Foundation

if let line = readLine(){
    let valueArray = line.split(separator: " ")
    if valueArray.count == 3,
        let startNum = Int(valueArray.first!),
        let addNum = Int(valueArray[1]),
        let targetIndex = Int(valueArray[2])
    {
        var result = startNum
        for _ in 1 ..< targetIndex {
            result += addNum
        }
        print(result)
    }
}

뭘 사용해보라는 문제였을까요?....

모르겠다

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

85. 콘솔에서 정수 한 개를 입력받고, 1부터 입력 받은 수 까지 출력하라. 단, 3의 배수는 출력하지 않는다.

입력 범위 : 1 ~ 100

입력 예시

10

출력 예시

1 2 4 5 7 8 10

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int endNum = scan.nextInt();
		scan.close();
		for (int i = 1; i <= endNum; i++) {
			if(i%3==0) continue;
			System.out.print(i + " ");
		}
	}
}

Swift 4.2

import Foundation

if let line = readLine(),let endNum = Int(line) {
    for i in 1...endNum {
        if i % 3 == 0 {
            continue
        }
        print(i, separator: "", terminator: " ")
    }
}

이번에는 continue를 써보세요 라는 문제였습니다.

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

 

 

84. 콘솔에서 정수 하나를 입력받는다.

값이 0인 변수 x에 입력받은 정수보다 작거나 같을때 까지 1 + 2 + 3 + ... 한다했을때

총 더해진값을 출력하라.

// 라는 문제인데 입출력 보면 작거나 작을때가 아닌 크거나 같을때까지로 기존 1080문제와 같은 문제입니다.

// 여러 문제를 만들다 보니 좀 단어가 헷갈리셧나봐요

입력 범위: 1 ~ 100000000

입력 예시

57

출력 예시

66

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int stopNum = scan.nextInt();
		scan.close();
		
		long totalValue = 0;
		int addValue = 0;
		while(totalValue < stopNum) totalValue += ++addValue;
		System.out.println(totalValue);
	}
}

Swift 4.2

import Foundation

if let line = readLine(),let stopNum = Int(line) {
    var totalValue = 0
    var addValue = 0
    while totalValue < stopNum {
        addValue += 1
        totalValue += addValue
    }
    print(totalValue)
}

1080항 에세 출력문만 바꾸었습니다.

추가로 1080 보다 입력범위 값이 늘어났기에 자바에서 저장변수를 long형으로 변경했습니다.

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

+ Recent posts