-
가장 중요한 포인트를 크루님에게 들었던게, 컴퓨터에게 가장 긴것, 가장 큰것, 가장 작은 것을 요구하거나 시킬 때, 순서가 있었다.
-
기준을 하나 만들어놓고 차례대로 기준과 비교를 한다
- 반복문을 통해 하나씩 넘겨가면서 기준보다 크면 기준을 교체한다.
- 기준보다 크지 않으면 기준을 그대로 둔다.
- 마지막에 기준을 리턴을 하는것이다.
위의 순서와 내용이 뻔해보일 수 도있었지만 이걸 모르고 풀었을 땐 진짜 너무 힘들었다 위의 개념이 정말 오늘 하루 중 가장 유레카!! 한 순간이였다. 감사합니다 크루님!!
위의 포인트를 통해 숫자 문자열을 입력받아 문자열을 구성하는 각 숫자 중 가장 큰수를 나타내는 숫자를 리턴해야하는 문제에서 아주 큰 도움이 되었다.
largest라는 변수를 만들고, 이 변수에 문자열의 0번째 숫자를 첫번째기준으로 하였다. 그다음 반복문을 통해 i를 문자열의 길이만큼 반복하여, 문자열안의 숫자들을 하나하나 비교하며 더 큰것을 largest에 넣고, largest를 리턴하였다.
- 그 다음은 벽을 살짝 느끼게 해주었던 소수인지의 여부를 판단하는 문제였다. 먼저, 소수의 개념은 약수가 1과 자기자신밖에 없는 수를 소수라고 부른다. 조건들을 보면,
1)소수는 1보다 커야한다.
2)짝수는 소수가 아니다. 단, 2는 소수다.
3)어떤수를 3부터 자기자신 전까지의 수들 중 하나라도 나눠서 나누어 떨어지면 소수가 아니다.
위의 개념들을 통해
위처럼 숫자가 1이면 false, 숫자가 2면 true를 주었고, num을2로 나누었을 때 나누어 떨어지면 소수가 될 수 없으므로 false, 나누어 떨어지는 조건문에 걸리지 않으면 바로 for문을 나와서 true로 리턴이 된다.
- 세번째는 문자열을 입력하면, 첫글자+(첫글자,두번째글자)+(첫글자,두번째글자,세번째글자)+...+(첫글자,두번째글자..,마지막글자) 이런식으로 한글자를 추가할 때마다 부분적으로 완성된 문자열을 전부 이어붙인 문자열을 리턴하는 것이다. 이것은 이중반복문을 통해 첫번째 반복문: 몇번 반복할건지, 두번째 반복문: 붙일 문자열의 길이가 얼마일지로 하여
i=0; str[0]
i=1; str[0]+str[1]
i=2; str[0]+str[1]+str[2]
첫번째 반복문 i가 반복하면서 두번째 반복문에서 result=result + str[j]를 통하여 위처럼 뒤에 j의 조건만큼 붙게된다.