Swift랑 친해지기/Swift PlayGround

스위치 모으기 -코딩 배우기2

데브킹덕 2022. 1. 1. 16:48

var ruby = 0
var switchNum = 0

while ruby == 0 || switchNum != ruby{
    if isOnGem {
        collectGem()
        ruby += 1
    }else if isOnClosedSwitch{
        toggleSwitch()
        switchNum += 1
        }
    if isBlocked{
        turnRight()
    }
    moveForward()
}

코드 설명 

 

1. 먼저 보석과 켜진스위치 변수를 선언하고 0값을 준다. 

var ruby = 0
var switchNum = 0

2. 보석과 켜진스위치 개수가 같으면 반복문이 끝나도록 하고, 

처음에 보석과 켜진 스위치 개수가 0으로 반복문이 실행이 안되기 때문에 보석이 0일때도 포함시켜 한다. ( OR 연산자를 사용했다.)

while ruby == 0 || ruby != switchNum{

}

3. 조건문을 통해 보석이 있으면 수집하고 , 복합할당연산자를 이용하여 ruby의 수를 +1 한다. 

마찬가지로 조건문을 통해 닫힌 스위치가 있으면 스위치를 켜고, 복합 할당연산자를 이용하여 switchNum의 수를 +1을 한다.

if isOnGem{
	collectGem()
	ruby += 1
	}else if isOnClosedSwitch{
    	toogleSwitch()
        switchNum += 1
        }

4. 앞이 막혀 있다면 오른쪽으로 회전하고 moveforward()를 주어 무조건 앞으로 한칸이동 하도록 한다. 

if isBlocked{
	trunRight()
}
	moveForward()