현재 직장에서 우리는 새로운 건물로 이사했습니다. 그것은 최첨단 기술이어야하며 자동 조명, 자동 롤 다운 셔터가 있으며 현재이 도시에서 가장 친환경적인 건물로 알려져 있습니다.
롤 다운 셔터는 때때로 흐린 날이나 해가지기 시작하면 올라가고, 조명은 때때로 5-10 번마다 번갈아 켜고 끌 때 디스코 효과를 일으 킵니다. 의사록. 또한 이러한 롤 다운 셔터를 제어하는 수동 방법이나 온도는 없지만 조명에 대한 리모콘이 있습니다.
그러나이 리모컨에는 사용 설명서가 포함되어 있지 않으며 원하는 것 이외의 모든 작업을 수행하는 20 개가 넘는 버튼이 있습니다.
추신 : 1.5 개월 전에 샌드 박스 에이 도전을 썼습니다. 현재 우리는 리모콘의 작동 방식을 알고 있습니다.
이 건물의 가장 큰 장점 중 하나는 섭씨 30도 이상이지만 내부는 항상 같은 21 실 온도를 유지합니다.
이것이 바로 소개였으며 조명용 리모콘이이 과제에 영감을주었습니다.
도전:
처음에 램프가 꺼져 있다고 가정 해 봅시다.
L
그런 다음 모든 종류의 버튼을 누르고 램프 상태를 출력합니다.
램프 리모콘의 다양한 기능에 다음 번호를 사용합니다. 빼기 기호가 그 숫자 앞에 있으면 반대의 행동을합니다.
1
= ON;-1
= 꺼짐.2
= 힘을 25 % 증가시킵니다.-2
= (딤) 강도를 25 % 줄입니다.3
= 스프레드 50 % 증가;-3
= 스프레드를 50 % 줄입니다.4
= 빛의 유형을 전환합니다.
따라서 이것은 모두 모호한 것이므로 각각의 의미에 대해 좀 더 깊이 살펴 보겠습니다.
따라서 -1
(OFF)는 매우 명백 1
하며 초기 ON- 상태 (50 % 2
및 50 % 3
)로 이동합니다.
//
//
L ====
\\
\\
2
그리고 -2
빛이 얼마나 멀리 이동하는지 ( ==
25 %마다 추가됩니다) :
0% (equal to a light bulb that is OFF)
L
25%
L ==
50%
L ====
75%
L ======
100%
L ========
3
그리고 -3
빛이 퍼지는 정도입니다.
0%:
L ====
50%:
//
//
L ====
\\
\\
100%:
|| //
||//
L ====
||\\
|| \\
(참고 : 언제 2
그리고 3
이 상태를해야합니다, 100 % 모두 :
|| //
|| //
|| //
||//
L ========
||\\
|| \\
|| \\
|| \\
4
빛의 유형을 토글하는 것입니다.
Default:
//
L ==
\\
After toggling (note the single space before '/' instead of two):
/
L --
\
입력:
가능한 버튼 누름이 포함 된 입력이 수신됩니다. 예를 들면 다음과 같습니다.
12-34
산출:
입력의 모든 버튼이 순차적으로 눌린 후 조명 램프의 상태입니다. 위의 예제 입력으로 다음과 같은 출력이 있습니다.
L ------
도전 규칙 :
- 입력은 포함하고
1234-
(-
앞에는 포함 하지 않음4
). - 0 % 이하 또는 100 % 이상으로 갈 수 없습니다. 숫자가이 경계를 넘어 증가 / 감소하면 무시할 수 있습니다.
- 램프가 꺼지면 모든 작업을 무시할 수 있으며 다시 켜면 초기 ON 상태 (
2
및 50 %3
및 기본값 모두 50 %)로 다시 설정됩니다4
. 예를 들어 :12-1-341
위에서 언급 한 초기 ON 상태 만 인쇄합니다. (팁 :1
입력 의 마지막 부분을 제외한 모든 항목은 무시해도-1
됩니다.) - 빛의 길이와 같은 후행 공백이나 단일 후행 줄 바꿈은 제한되지 않습니다. 그러나 불필요한 새로운 줄을 추가하는 것은 아닙니다.
- 입력을 단일 문자열 대신 정수 목록으로 사용할 수 있습니다. 따라서 대신 입력으로
12-34
사용할 수 있습니다[1,2,-3,4]
.
일반 규칙:
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙이 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수가있는 기능 / 방법, 전체 프로그램을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트 링크를 추가하십시오.
- 또한 필요한 경우 설명을 추가하십시오.
테스트 사례 :
12-34
L ------
12-1-341
//
//
L ====
\\
\\
14-3224333-2
|| //
|| //
||//
L ======
||\\
|| \\
|| \\
142-1-314-3-322
L --------
1324-2-3
/
/
L ----
\
\
134
| /
|/
L ----
|\
| \
1-2-2-214-3-3-3
L ----
4
). 질문 주셔서 감사합니다.
1
눌려지면 파라미터가 재설정됩니까?
134
무엇입니까?