Как бы вы решили эту задачу?

Тут такое дело, позвала меня к себе подруга по общаге за помощью, сказала, что ей нужно решить задачу за 5 минут ровно. Я
  1. Удивился, ведь уже полгода на плюсах и питон забыл напрочь
  2. Решил попытаться, задача-то детская


Короче, ударил в грязь лицом, буду честен, решив данную проблему за 10, а не 5 минут, за что получил недовольный взгляд. Собственно вопрос:
а) Как бы вы решили эту задачу?
б) Сколько у вас на это ушло времени с кодингом?

Условие, тест и моё костыльное решение ниже:

Условие (точно не скажу, передам суть):
С клавиатуры вводятся две строки. Первая содержит в себе символы, а вторая - номера позиций, на которые эти символы надо поставить. Задача: вывести на экран слово, образованное перестановкой символов.

Тест:
Ввод:
tca
2 0 1
Вывод:
cat

Решение (от человека, забывшего питон):
wrd = str(input())
ar = []
rez = {}
ar = list(map(int, input().split()))
for i in range(len(wrd)):
    rez[ar[i]] = wrd[i]
for i in dict(sorted(rez.items())):
    print(dict(sorted(rez.items()))[i], end="")
  • Вопрос задан
  • 422 просмотра
Решения вопроса 4
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
inp = 'tca'
pos = [2, 0, 1]

out = [' '] * len(inp)
for i,im in enumerate(pos):
    out[im] = inp[i]

print(''.join(out))
# cat
Ответ написан
Комментировать
@mkone112
Начинающий питонист.
chars, pos = input('chars'), input('positions')
''.join(dict(sorted(zip(pos, chars))).values())

Не без недостатков, но как вариант
Ответ написан
Vindicar
@Vindicar
RTFM!
line = input('Буквы: ')
pos = list(map(int, input('Цифры: ').split()))
print(''.join(line[i] for i in pos))
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
А я вообще не понял почему автор "ударил лицом" в грязь. Разве речь шла о хакатонах или олимпиадах.

Вообще в ентерпрайзе например нет таких оценок времени. Задача которая делается за 10 минут - скорее всего никому не нужна. Задача должна быть обдумана. Покрыта тестами. Покрыта code-review.

Мой шеф говорил - "задача должна настояться". Я-бы голосовал 1 StoryPoint. Или один день разработки. А то что "подруга" решала за 5 минут - было похоже на троллинг молодого кавалера или развод на слабо. Зачем вообще вестись на такое?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы