Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

Compile and Execute Swift

import Foundation
import Glibc
 

//---------------------------------------------------------------------
// CLASS
//---------------------------------------------------------------------

public class Round {
    //properties
    var N1 : Int
    var N2 : Int
    var N3 : Int
    var N4 : Int
    var N5 : Int
    var N6 : Int
    
    var rmk : String?
    //초기화
    init(){
        N1 = 0
        N2 = 0
        N3 = 0 
        N4 = 0
        N5 = 0 
        N6 = 0
    }
}

//---------------------------------------------------------------------
// EXTENTION endIndex
//---------------------------------------------------------------------
extension String {
        // _ 하면 number.mid(2,amount:2) 같이 해도 된다.
		// LEFT
		func left(_ to: Int) -> String {
			 return "\(self[..<self.index(startIndex, offsetBy: to)])"
		 }

		 // RIGHT
		 func right(_ from: Int) -> String {
			 return "\(self[self.index(startIndex, offsetBy: self.count-from)...])"
		 }

		 // MID
		 func mid(_ from: Int, amount: Int) -> String {
			 let x = "\(self[self.index(startIndex, offsetBy: from)...])"
			 return x.left(amount)
		 }
} //extension end

//-------------------------------------
// 숫자들을 담은 다음에 중복제거 한다.
//-------------------------------------
public class NumberControl{

    var scanNumberList = Set<Int>();
    var n45 = Set<Int>(); //기본숫자 만들기
    var nmatch = Set<Int>();
    
    init(){
    
        for x in 1..<46 {
            n45.insert(x)
        }
        
        print("NumberControl 기본숫자 45 생성...")
    }
    
    func scanNumberAdd( n : String ){
        //let covN = n as! Int
        let covN = Int( n )!
        
        scanNumberList.insert(covN);
        //print("call add= \(covN)")
    }
    
    func viewList(){
         for x in scanNumberList.sorted() {
            print (x)
         }
    }
    
    func analysys(){
        
        //45에서 출력한 숫자를 뺀다.
        for x in n45.sorted() {
            //print("analysys x=\(x)")
            if !scanNumberList.contains(x) {
                //print("중복.. \(x)")
                nmatch.insert(x)
            }
            
        }
        
        print("nmatch = \(nmatch.count)")
        
    }
}

//---------------------------------------------------------------------

//---------------------------------------------------------------------
var readqr = "https://ois.site.com/?v=0792m020304091143q021424273132"
    print(readqr)



//문자열 자르기 separator (세퍼레이터)
//print( readqr.split(separator: "=") )
var temp_readqr1 = readqr.split(separator: "=")[1]
//print ("temp_readqr1=\(temp_readqr1)")

//1)round 분리
var round = temp_readqr1.split(separator : "m")[0]
//print( "round= \(round)" )

//2)번호 만들기
var number  = String( temp_readqr1.split(separator : "m")[1] ) //형변환
print("number = \(number)")

var number_sub  =  number.split(separator : "q")
print("number_sub=\(number_sub.count)")

var loop_cnt : Int = 0

//성공
//print(number.mid(2,amount:2)) 
var m = NumberControl();
for x in 0..<2{
    // print("number_sub=\(number_sub[x])")
    let subNumber : String = String( number_sub[x] );
    loop_cnt  = 0
    
    for _ in 0..<6 {

        loop_cnt = loop_cnt + 2
        let result  =  subNumber.mid( (loop_cnt-2)  ,amount:  2 )
        m.scanNumberAdd(n: result )
        // print ("split =\(result)")
    }

}
  
m.analysys();





Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.