راکت
حل شده

یک سوال گیج کننده

15 پاسخ

درود دوستان.
من یه سوالی پیدا کردم توی یکی از این آزمون ها، که الگوریتمش رو تا حدودی میدونم، اما یه خورده گیج کننده است دقیقا متوجه نمیشم!
ببینید این متن سواله. این به هیچ وجه تقلب نیست چون آزمون 5 روز قبل بوده.
"
مجید، کودک دوستداشتنی و گوگولی قصه ما علاقه زیادی به جمع کردن ماژیک دارد .
مجید در خانه اش N تا ماژیک دارد که هر کدام از آن ها رنگی دارند که آن رنگ را با یک عدد نشان میدهیم. حال
مسئله ای ذهن مجید را مشغول کرده است که از کدام رنگ کمترین تعداد ماژیک را دارد .
از آنجایی که مجید بس یار کوچک است و هنوز شمردن بلد نیست از شما میخواهیم که به مجید کمک کنید و رنگ
ماژیکی که تعدادش کمتر از همه است را چاپ کنید. همچنین اگر بیش از یک رنگ داشتیم که تعداد ماژیکهایش
کمتر مساوی از بقیه بود، بین آن رنگ ها، آن رنگی را چاپ کنید که عددش از بقیه کمتر است. )برای فهمیدن بهتر
سوال، توضیح ورودی های نمونه را بخوانید. "

ورودی
در خط اول ورودی N که تعداد ماژیک های مجید است می آید. در خط بعدی N عدد با فاصله از هم میآی د که عدد
iام نشان دهنده رنگ ماژیک iام است.

خروجی
در تنها خط خروجی یک عدد چاپ کن ید که برابر شماره ی رنگ ماژیکی است که تعدادش کمتر از بقیه است

این نمونه است

دوستان ممنون میشم اگه راهنمایی کنید، هی الگوریتمش رو میخوام تجسم کنم، ولی چون دانشم در این زمینه کمه، هی گیج میشم و راه رو گم میکنم.
(زبانش هم پایتونه، بقیه رو با پایتون زدم)

ثبت پرسش جدید

پاسخ‌ها

15
Ali
Ali
@411proplayer
بهترین پاسخ
total_interation = int(input('Total ? '))
dic_numbers = {}
numbers = input('Number ? ').split()
# print(numbers)
for number in numbers:
    # each number deafult plus number is 1
    plus_number = 1
    if number in dic_numbers:
        # if number already exists in list we just get the number of the dic and + 1
        plus_number = dic_numbers[number] + 1
    dic_numbers[number] = plus_number

min_num = min(dic_numbers)
final_list = [v for (k, v) in dic_numbers.items() if k == min_num]
answer = min(final_list)
print(answer)

کاری که من کردم اومدم به ازای هر عددی که کاربر میداد یعنی همون ماژیک تو یه دیکشنری اضافه کردم و اگه نبود 1 میزاشتم اگه بود عدد قبلیو به اضافه 1 میکردم برا مثال وقتی کاربر 1 1 2 رو وارد کنه جواب یه همچین چیزی میشه

{"1" : 2 , "2" : 1}

بعد کمترین عدد رو از دیکشنری گرفتم فیلتر کردم دیکشنری رو بر اساس کمتریم عدد که میشه این

[2]

بعد اولین عدد لیست رو میگیریم و میگیم شاید این جواب باشه ولی چک میکنیم اگه لیست بیشتر عدد داشت خوب دوباره کمترین عددشو میگیریم بعد اون جوابه

امیر علی
امیر علی
@ajdar9667

تخصص: طراح و توسعه دهنده fullstack

با php میتونم جوابتو بدم یا فقط پایتون ؟

مبینا ستاری
مبینا ستاری
@mobinasattari7

تخصص: توسعه دهنده بک اند

@ajdar9667 نه اخه نمیدونم منطقش مثل اون میشه یا نه. چون یه خورده با هم تفاوت دارن اما نمیدونم بشه یا نه

شاید پاسخ شما همین‌جا باشد

امیر علی
امیر علی
@ajdar9667

تخصص: طراح و توسعه دهنده fullstack

اگر با php خاستی در خدمتم

مبینا ستاری
مبینا ستاری
@mobinasattari7

تخصص: توسعه دهنده بک اند

باشه ممنون @ajdar9667

مبینا ستاری
مبینا ستاری
@mobinasattari7

تخصص: توسعه دهنده بک اند

من الان میدونم که این باید دو تا خروجی داشته باشه. یکی برای تعداد المان ها و اون یکی برای عددِ رنگ ماژیک ها. منتها اولین چیزی که نمیدونم اینه که چطور باید این ورودی دوم توی یه خط دریافت بشه و نمیدونم هم دقیقا چی باید سرچ کنم

مهران مرندی
مهران مرندی
@mehranmarandi

تخصص: برنامه نویس

دقیقا متوجه سوالتون نشدم، الان مشکلتون تو دریافت کردن دو خط ورودی هست؟
معمولا آزمون های برنامه نویسی ورودی sys.stdin دریافت میکنن
مثلا:

import sys 
first = sys.stdin.readline()  
secound = sys.stdin.readline()  

a = int(first)+int(secound)
print(a)

k=input("press close to exit") 
امیر علی
امیر علی
@ajdar9667

تخصص: طراح و توسعه دهنده fullstack

@mehranmarandi90 داخل php برای ازمون های برنامه نویسی از اینپوت ها در صفحات html استفاده کنیم مشکلی نیست ؟؟؟
یا مثه پایتون کتابخونه خاصی برای این کار هست چون منم یه سوال با ورودی های مشابه همین سوالی که بالا بیان کردند رو با php حل کردم ولی این نوع بیان که ورودی ها با فاصله از هم جدا می شوند و در خط بعد اعداد وارد می شود یکم با html کارکردن رو عجیب میکنه

مهران مرندی
مهران مرندی
@mehranmarandi

تخصص: برنامه نویس

@ajdar9667 نه برای آزمون برنامه نویسی با زبان php ورودی باید stdin readline باشه و خرجی باید با همون فرمتی که تو سوال گفته میشه echo بشه

امیر علی
امیر علی
@ajdar9667

تخصص: طراح و توسعه دهنده fullstack

@mehranmarandi90 مهران جان مثلا یه جدول رو چجوری براش چاپ کنم ؟

محمدصادق عبداللهی
محمدصادق عبداللهی
@mimsadAlef

تخصص: junior full stack developer

من فکر کنم بتونم با پایتون پیادش کنم🙄

مبینا ستاری
مبینا ستاری
@mobinasattari7

تخصص: توسعه دهنده بک اند

ممنون میشم بگید @mimsadAlef

مبینا ستاری
مبینا ستاری
@mobinasattari7

تخصص: توسعه دهنده بک اند

@411proplayer خیلی ممنون تا حدودی درست کار میکنه اما سوال گفته که باید تو یه خط باشه منم سر این گیر کردم.

Ali
Ali
@411proplayer

@mobinasattari7 کدمو تغییر دادم منظورتون این شکلیه ؟ که همه عددا رو از یه خط بگیره؟

مبینا ستاری
مبینا ستاری
@mobinasattari7

تخصص: توسعه دهنده بک اند

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام