⚠ 이 강좌는 오토핫키 v2를 다룹니다
지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만,
새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.
68. 프로그래밍 문제 (10)
마지막 수정일: 2023-12-22
⚠ 제공되는 정답은 신중히 열어보세요
정답을 쉽게 확인할수록 문제 해결 능력은 천천히 오릅니다.
반드시 오래 생각한 후, 강좌를 아무리 복습해도 답을 모르겠을 때 정답을 확인해주세요.
프로그래밍 문제
문제 1. 아래와 같은 문자열이 각각의 요소로 담긴 배열을 만들어보세요.
[문자열] (총 5개)
사과 | 바나나 | 수박 | 자두 | 딸기
[조건]
1. 코드 제한: 1줄
2. 배열의 이름은 fruit로 한다.
3. 각 요소의 순서를 바꾸지 않을 것.
정답 펼치기/접기
1 fruit := ["사과", "바나나", "수박", "자두", "딸기"]
1 fruit := Array("사과", "바나나", "수박", "자두", "딸기")
문제 2. 아래와 같은 프로그램을 작성하세요.
[동작]
1. 1번 문제에서 만든 fruit 배열의 요소를 하나씩 순차 출력한다.
[조건]
1. 코드 제한: 5줄
2. 출력 양식은[index] element
로 한다. (예: [1] 사과)
3. 출력은 각 요소당 1회 씩, 총 5회 알림 상자를 이용하여 출력한다.
정답 펼치기/접기
문제 3. 아래와 같은 프로그램을 작성하세요.
실력 향상을 원하시는 분을 위한 추가 문제로서, 풀지 못해도 추후 강좌 진행에 문제가 없습니다.
[동작]
1. F1키를 누를 때마다 현재 시각(n)과 임의의 정수(m)를 저장하는 맵을 만든다.
2. 맵이 만들어질 때마다 각 맵을 한 배열의 요소로 넣는다.
3. 키보드의 1 키를 누르면 1번 요소의 n과 m을 출력한다.
4. 마찬가지로 키보드의 2, 3, 4, …, 9번 키로도 각 요소의 n과 m을 출력하게 한다.
5. ESC로 프로그램을 종료할 수 있게 한다.
6. 예를 들어서, n이 20230804013601 이고 m이 2라면, 출력은 20230804013601과 2가 된다.
7. 배열의 요소가 9개인 상태에서 맵을 더 추가하려고 하면 더는 추가할 수 없습니다!를 출력한 후 아무것도 하지 않는다.
8. 없는 인덱스에 접근하려고 하면 아무것도 하지 않는다. (예를 들어서, 배열에 요소가 4개인데 5 키를 누르면 아무것도 하지 않는다. - 오류 메시지도 안보이게 하기!)
[조건]
1. 맵과 배열의 이름, 출력 양식은 자유롭게 한다.
2. 현재 시각(n)을 저장하는 키는 nowTime, 임의의 정수를 저장하는 키(m)는 leftTime으로 한다.
3. 임의의 정수(m)은 정수가 담기는 내장 변수 중 아무거나 넣어서 쓸 것.
4. 키보드에서 누른 키를 매개변수로 받아서 n과 m을 출력하는 함수 printMap()을 구현해서 쓸 것.
힌트 펼치기/접기
1. 배열 안에 맵을 넣을 땐 배열의 '어떤 메서드'를 이용한다.2. 핫키 지역에서 누른 핫키는 A_ThisHotkey 변수에 담겨있다.
3. 문제가 어렵다면 며칠이고 붙잡아보자! 그 경험은 실력을 향상시키기 위한 밑거름이 된다.
정답 펼치기/접기
문제 4. 아래와 같이 문제 3의 프로그램을 수정하세요.
맵 대신에 객체 리터럴을 이용한 방식으로 수정해볼 것.
정답 펼치기/접기
정답은 예시입니다.
조건을 지켜서 프로그래밍 했다고 가정할 때, 제공 정답과 동일한 동작을 한다면 잘 하신 것입니다.
내려받은 정답 코드가 자신의 코드와 다르다고해서 오답인 것은 아닙니다!