본문 바로가기

Python/코딩테스트21

다중반복문 - 모양대로 수 출력하기 정수 N의 값을 입력받아 다음과 같이 수를 출력하는 프로그램 작성해보기 ex. N이 3를 입력받는 경우 3 2 1   2 1     1  1. 행과 열이 존재하므로 중첩 for문. 2. 출력 패턴 파악 -> j가 i보다 클경우 숫자 출력 됨. 3. 출력되는 숫자가 큰값에서 작은값으로 감소함. > 이때 각 행렬의 원소의 자리의 첫 자리를 (0,0)으로 보지않고 (5,5)으로 보기 위해서  range를 5부터 1씩 감소하게 만든다. 4. j가 i보다 클 경우 공백을, 작을 경우 j를 출력 n = int(input())for i in range(n, 0, -1): for j in range(n, 0, -1): if j > i: print(" ", end=" ") else: .. 2025. 2. 26.
다중반복문 - 숫자로 이루어진 삼각형 정수 N의 값이 주어지면 숫자로 이루어진 삼각형을 출력하기 1ex. N=3 결과 1 1 2 1 2 3 1. 패턴 파악. 행이3개 / 열이 3개 -> i와 j 값이 바뀌는 for 중첩문 문제 2. 행에 따라 열의 갯수가 늘어남 -> j의 range에 i값이 포함됨. 3. 프린트해야하는 값은 열마다 1씩늘어나므로 j가 포함됨. n = int(input())for i in range(n) : for j in range(1+i) : print(j + 1, end = ' ') print() 정수 N이 주어지면 i번째 줄에 i개의 수를 출력하는데, 수는 1부터 순서대로 다음과 같이 출력 N = 4 1 2 3 4 5 6 7 8 9 10 1. 행과 열에 따라서 값이 바뀌므로 중첩 for 2. 행.. 2025. 2. 26.
다중반복문 - 구구단으로 이루어진 직각삼각형 ex) N=5 1 * 1 = 1 / 1 * 2 = 2 / 1 * 3 = 3 / 1 * 4 = 4 / 1 * 5 = 5 2 * 1 = 2 / 2 * 2 = 4 / 2 * 3 = 6 / 2 * 4 = 8 3 * 1 = 3 / 3 * 2 = 6 / 3 * 3 = 9 4 * 1 = 4 / 4 * 2 = 8 5 * 1 = 5 1) for 중첩 문의 구조, 열이 행이 1씩 증가할 때마다 1씩 감소하는 행렬로 보임 > i번쨰 줄에 구구단의 곱셈식이 n-i개씩 등장함 2) '/'는 각 줄의 마지막 곱셈식 뒤에는 출력되면 안됨. 따라서 곱해지는 수(j)가 n-j일때 (range에서 출력되는 마지막 값과 같아질때) '/'는 출력하지 않는다는 조건을 걸어야 함n = int(input())for i in range(1, n.. 2025. 2. 26.
다중반복문 - 특이한 출력 아래와 같은 조합을 출력해라 (n=3) 이때 첫 번째 숫자가 짝수인 경우 출력 후 한 줄을 띄우고, 그렇지 않을경우 공백을 띄워주어라.(1, 1) (1, 2) (1, 3) (2, 1) (2, 2) (2, 3) (3, 1) (3, 2) (3, 3) 1. 중첩 for문의 행(i), 열(j)의 묶음 형태. (1,1), (1,2), (1,3)... 와 같이 i가 1일때 j가 1,2,3으로 변하는 것으로 보이기 때문. 2. 문제에 나온대로 행(i)가 짝수 일때 한칸 띄워야 한다. if문과 print(end = "\n") 활용. 3. 짝수가 아닌경우 print(end = " ")로 작성한다. for i in range(1, 4): for j in range(1, 4): if i % 2 == 0:.. 2025. 2. 26.
다중반복문 - 일직선 구구단 아래와 같은 프로그래밍을 어떻게 할까?  ex) n=2를 입력으로 받을때 아래와 같이 출력됨. 1 * 1 = 1 1 * 2 = 2 2 * 1 = 2 2 * 2 = 4 1) 행과 열이 반복됨 > 중첩 for문 2) 규칙 : 1~2번째 행(i)은 1로 시작하고 3~4번째 행(i)은 2로 시작,  이 행(i)안에서 열(j)값이 1부터 2까지 바뀌어가며 출력  = 이후의 값은 i * j의 값임 3) 1~2번째 같은 행(i)이 첫번쨰, 두번째 행에 위치하려면 print(end=' ') 내의 end를 제외시켜줘야 함. n = int(input())for i in range(1, n+1) : for j in range(1, n+1) : print(f"{i} * {j} = {i*j}") 문제 출처 :.. 2025. 2. 26.
다중반복문 - 구구단2 짝수 인 정수 A, B가 주어지면 A이상 B이하의 짝수에 해당하는 수의 구구단을 예제와 같은 형식으로 출력. B에서 A로 감소하며 출력함 2 6 * 1 = 6 / 4 * 1 = 4 / 2 * 1 = 2 6 * 2 = 12 / 4 * 2 = 8 / 2 * 2 = 4 6 * 3 = 18 / 4 * 3 = 12 / 2 * 3 = 6 ...............(생략)............... 6 * 8 = 48 / 4 * 8 = 32 / 2 * 8 = 16 6 * 9 = 54 / 4 * 9 = 36 / 2 * 9 = 18 풀이1. 변수 두개 선언 하고 받기  2. i의 초기값 1, 10보다 작으며, 1씩 증가가 range 3. i마다 j의 초기값은 B이고, A보다 크거나 같으며 1씩 감소가 range (문제.. 2025. 2. 24.