상세 컨텐츠

본문 제목

Golang Algorithm - 순서쌍의 개수 (프로그래머스)

Programming Language/Go

by Yongari 2023. 7. 9. 12:39

본문

순서쌍의 개수
문제 설명
순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.

제한사항
1 ≤ n ≤ 1,000,000

입출력 예
n result
20 6
100 9

입출력 예 설명
입출력 예 #1
n이 20 이므로 곱이 20인 순서쌍은 (1, 20), (2, 10), (4, 5), (5, 4), (10, 2), (20, 1) 이므로 6을 return합니다.

입출력 예 #2
n이 100 이므로 곱이 100인 순서쌍은 (1, 100), (2, 50), (4, 25), (5, 20), (10, 10), (20, 5), (25, 4), (50, 2), (100, 1) 이므로 9를 return합니다.

 

 

 

package main

import "fmt"

func solution(n int) int {
	// n이 되는 순서쌍의 개수를 리턴하기
	// 1부터 진행 만약 n이 20이면
	// 1,20 | 2,10 | 4,5 | 5,4 | 10,2 | 20,1
	// 20은 20/1 10은 20/2 5는 20/4
	count := 0
	for i := 1; i <= n; i++ {

		j := n / i
		if i*j == n {
			count += 1
		}
	}
	fmt.Println("count", count)
	return count
}

func main() {
	// n := 100
	n := 20
	solution(n)
}

관련글 더보기