기대 중!

(https://www.boostcourse.org/selfcheck/joinLectures/360465)


1. 논리적 추론

언어논리의 PTSD가 떠오른다

간단하게 케이스 정하면서 모순점을 찾으면 된다.


2. 패턴 찾기

그냥 찾다보면 찾아짐.

겹으로 되어 있는 연관관계 정도?


3. 반복구조

갑분 C.. 였으나 그래도 무슨 말인지는 이해했다.

i에 7을 더한 후에 count가 증가하기 때문에.. 마지막 지점이 어딜지 잘 생각해야한다.


4. 조건식

아니.. C언어 배워서 가야하는 걸까..?

1. count < 100

99까지만 합해서 탈락

 

2. count != 100

100 포함 안해서 탈락

 

3. count == 100

초기값 1이므로 반복문 시작도 안 함.

탈락

 

4. count < 101

이게 맞지.

 

5. 응 아니야


5. 논리식

복잡한 논리문제일수록 문제에 집중해야 한다.

함수에서는 0 즉 평년에 해당하는 조건을 넣어줘야 한다.

 

1. 윤년이 되는 조건

연도를 4로 나눈 나머지가 0이면 윤년이지만 / and 100으로 나누어지면 평년이다.

year % 4 != 0 or year % 100 == 0

(4로 나누어지지 않거나, 100으로 나누어진다면)

+ 400으로 나누어지면 윤년이다

 

(year % 4 != 0 or year % 100 == 0) and year % 400 !=0

(4로 나누어지지 않거나, 100으로 나누어진다면) & (400으로 나누어지지 않는다면)


6. 2차원 배열

진짜 탈탈 털렸다. 경우의 수로 찍었다 ㅋㅋ

2차원 배열.. 행렬은 어렴풋이 기억난다 아마 내가 마지막 세대였던거 같은데

아무튼..

 

1. 선지의 내용을 이해한 바로는 다음과 같다.

한 행의 세 가지 수가 모두 3으로 나눈 나머지가 다르다면 모든 배열의 x위치를 표현할 수 있다.

-> 1, 2, 3행이 각각 3으로 나눈 나머지가 [1,0,2], [0,2,1], [2,1,0]이므로 +1해서 나눌때마다 한칸씩 바뀌면서 표현 가능

 

2. square[x][y]로 인지하고 찾았다.

 

3. 이건 몰랐다. 이것도 맞는 거더라.

4 -> 3 -> 8 -> 9 -> 5 의 방식으로 진행하는 것 같다.

'C언어의 배열구조에서는 2차원 배열이 메모리에서 연속된다'

 

4. 3번의 선지를 이해한 바로 진행하면

square[x][y]의 메모리에 할당된 배열은 다음과 같을 것이다.

4,3,8 / 9,5,1 / 2,7,6 (/는 임의로 구분한 것)

 

그렇다면 square[y][x]는?

4,9,2 / 3,5,7 / 8,1,6의 형태가 될 것이다.

안 똑같다.


7. 재귀함수

또 너야?

draw1을 살펴보자. (일단 나는 C언어를 모른다)

아마 if 문에서 else가 밑의 draw1(h-1)으로 추정된다.

 

그리고 그 밑에는 for문으로 i가 h보다 작은 동안 반복하는데, i는 1씩 증가하고(++의 default가 1인가?)

for문을 다 돌리고 개행..을 하는거겠지?

 

5를 입력했으니 5, 4, 3, 2, 1, 0일텐데 0의 리턴값은 없으니 5,4,3,2,1만 생각해보면 된다.

먼저 i값이 더해지고, 그 다음에 프린트니까,

*  ** *** **** *****일 것이다.

(i = 1), *

(i = 2), **

...

 

draw2를 보자.

이중 for문이다.

h = 5

o = 0 먼저 더하기1 

i = 0 그 다음 더하기1이다.

o, i = (1, 1), *

o, i (2, 1)/(2,2), **

...

o, i ...(4,4), ****

어.. 뭐지.. 내일 다시..

복사했습니다!