همه چیز عالی است ???
استفاده از Golang در سایت کوئرا
سایت کوئرا یک سایت تقویت مهارتهای برنامهنویسی بر اساس حل سوالات میباشد. در این سایت شما میبایست برنامههایی بنویسید که بتوانند ساختار ورودی مشخص شده را دریافت و خروجی مناسب را تولید کنند. این سایت از زبانهای برنامهنویسی مختلفی پشتیبانی میکند که یکی از آنها زبان Go میباشد. این زبان شباهت زیادی به زبان C دارد.
برخی از این سوالات ورودیها و خروجیها بزرگی دارند تا برنامهی شما را از نظر زمانی نیز مورد آزمایش قرار دهند. در یکی از این سوالات برنامه شما میبایست مجموعهای اعداد را به صورت زیر دریافت کند:
5 s
1 2 3 4 5
خط اول نمایش دهندهی تعداد اعداد و خط دوم اعداد میباشند. برای این منظور در زبان Go از روند زیر استفاده میکنیم:
var n int
fmt.Scanf("%d", &n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Scanf("%d", &a[i])
}
اما در کمال ناباوری این کد زمانی که اندازهی ورودی بزرگ میباشد خطای Runtime تولید میکند. برای حل این موضوع این کد را به شکل زیر تغییر میدهیم:
var n int
fmt.Scanf("%d", &n)
a := make([]int, n)
reader := bufio.NewReader(os.Stdin)
aMembers, _ := reader.ReadString('\n')
aMembers = strings.TrimSuffix(aMembers, "\n")
aNumbers := strings.Split(aMembers, " ")
for i := 0; i < n; i++ {
ne, _ := strconv.Atoi(aNumbers[i])
a = append(a, ne)
}
به این ترتیب مساله حل میشود.
مطلبی دیگر از این انتشارات
برنامه نویسی ربات سرخطی بورس
مطلبی دیگر از این انتشارات
آموزش برنامه نویسی با ضمانت استخدام ( نقد کنید )
مطلبی دیگر از این انتشارات
گرفتن Rest Api از وردپرس و ساده سازی JSON دریافتی با پلاگین برای استفاده در اپ اندروید