문제
이중 반복문의 실행 횟수와 빅 오 최고차항의 차수를 출력하시오
풀이
일단 예제 코드를 보자.
MenOfPassion(A[], n) {
sum <- 0;
for i <- 1 to n
for j <- 1 to n
sum <- sum + A[i] × A[j]; # 코드1
return sum;
}
대관절 무슨 언어인지 감을 못 잡겠다. R은 함수 저렇게 선언 안함. 자바스크립트도 마찬가지고. 아무튼… 이중 반복문인데 저 다섯번째 줄은 뭘 더하라는건지 모르겠으니 걍 생략함.
import sys
k = int(sys.stdin.readline())
for i in range(1,k+1):
for j in range(1,k+1):
print(i,j)
이중 반복문은 이런 식인데, 이 문제에서는 2를 입력하면 첫번째나 두번째나 range가 1, 2가 된다. 그러면 2가 두개니까 4네? 그럼 3은 6? 이거 최고차항 1차예요? 아녀 3 넣으먼 9 나옵니다. 이거 다차(2승)임. 그 뭐랑 비슷한거냐면 동물의 숲에서 꽃 교배할때 가지수 매길때 우성 잡종 열성 세개 해서 곱한 다음에 유전자 조합으로 꽃 색깔 찾는 그런거다. 가짓수 구하는거. 뭔지 아시죠?
import sys
k = int(sys.stdin.readline())
print(k ** 2)
print(2)
그래서 정답은 이거. sys.stdin.readline() 번거로우면 인풋 써서 석 줄로 해결 쌉가능.
아, 혹시 저 예시 언어가 뭔지 아시는 분은 예시 코드의 다섯번째 줄이랑 A[]가 뭘 의미하는건지 제보 바랍니다.
Reply