Skip to content

Commit 5467763

Browse files
committed
Adding: Ordered Pair, a colony of ants, morse, rock-paper-scissors
1 parent f815f37 commit 5467763

File tree

5 files changed

+221
-1
lines changed

5 files changed

+221
-1
lines changed

.vscode/launch.json

+8-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,14 @@
44
// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
55
"version": "0.2.0",
66
"configurations": [
7-
7+
{
8+
"name": "Attach to Process",
9+
"type": "go",
10+
"request": "attach",
11+
"mode": "local",
12+
"processId": 0
13+
},
14+
815
{
916
"name": "Launch Package",
1017
"type": "go",
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// 순서쌍의 개수
2+
// 문제 설명
3+
// 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.
4+
5+
// 제한사항
6+
// 1 ≤ n ≤ 1,000,000
7+
// 입출력 예
8+
// n result
9+
// 20 6
10+
// 100 9
11+
// 입출력 예 설명
12+
// 입출력 예 #1
13+
14+
// n이 20 이므로 곱이 20인 순서쌍은 (1, 20), (2, 10), (4, 5), (5, 4), (10, 2), (20, 1) 이므로 6을 return합니다.
15+
// 입출력 예 #2
16+
17+
// n이 100 이므로 곱이 100인 순서쌍은 (1, 100), (2, 50), (4, 25), (5, 20), (10, 10), (20, 5), (25, 4), (50, 2), (100, 1) 이므로 9를 return합니다.
18+
19+
package main
20+
21+
import "fmt"
22+
23+
func solution(n int) int {
24+
// n이 되는 순서쌍의 개수를 리턴하기
25+
// 1부터 진행 만약 n이 20이면
26+
// 1,20 | 2,10 | 4,5 | 5,4 | 10,2 | 20,1
27+
// 20은 20/1 10은 20/2 5는 20/4
28+
count := 0
29+
for i := 1; i <= n; i++ {
30+
31+
j := n / i
32+
if i*j == n {
33+
count += 1
34+
}
35+
}
36+
fmt.Println("count", count)
37+
return count
38+
}
39+
40+
func main() {
41+
// n := 100
42+
n := 20
43+
solution(n)
44+
}
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// 개미 군단
2+
// 문제 설명
3+
// 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.
4+
5+
// 제한사항
6+
// hp는 자연수입니다.
7+
// 0 ≤ hp ≤ 1000
8+
// 입출력 예
9+
// hp result
10+
// 23 5
11+
// 24 6
12+
// 999 201
13+
// 입출력 예 설명
14+
// 입출력 예 #1
15+
16+
// hp가 23이므로, 장군개미 네마리와 병정개미 한마리로 사냥할 수 있습니다. 따라서 5를 return합니다.
17+
// 입출력 예 #2
18+
19+
// hp가 24이므로, 장군개미 네마리 병정개미 한마리 일개미 한마리로 사냥할 수 있습니다. 따라서 6을 return합니다.
20+
// 입출력 예 #3
21+
22+
// hp가 999이므로, 장군개미 199 마리 병정개미 한마리 일개미 한마리로 사냥할 수 있습니다. 따라서 201을 return합니다.
23+
24+
package main
25+
26+
func solution(hp int) int {
27+
general := 5
28+
soldier := 3
29+
worker := 1
30+
count := 0
31+
32+
count += hp / general
33+
hp = hp % general
34+
35+
count += hp / soldier
36+
hp = hp % soldier
37+
38+
count += hp / worker
39+
hp = hp % worker
40+
// fmt.Println("count", hp, count)
41+
return count
42+
}
43+
44+
func main() {
45+
// hp := 23
46+
// hp := 24
47+
hp := 999
48+
solution(hp)
49+
}
+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
// 모스부호 (1)
2+
// 문제 설명
3+
// 머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
4+
// 모스부호는 다음과 같습니다.
5+
6+
// morse = {
7+
// ".-":"a","-...":"b","-.-.":"c","-..":"d",".":"e","..-.":"f",
8+
// "--.":"g","....":"h","..":"i",".---":"j","-.-":"k",".-..":"l",
9+
// "--":"m","-.":"n","---":"o",".--.":"p","--.-":"q",".-.":"r",
10+
// "...":"s","-":"t","..-":"u","...-":"v",".--":"w","-..-":"x",
11+
// "-.--":"y","--..":"z"
12+
// }
13+
// 제한사항
14+
// 1 ≤ letter의 길이 ≤ 1,000
15+
// return값은 소문자입니다.
16+
// letter의 모스부호는 공백으로 나누어져 있습니다.
17+
// letter에 공백은 연속으로 두 개 이상 존재하지 않습니다.
18+
// 해독할 수 없는 편지는 주어지지 않습니다.
19+
// 편지의 시작과 끝에는 공백이 없습니다.
20+
// 입출력 예
21+
// letter result
22+
// ".... . .-.. .-.. ---" "hello"
23+
// ".--. -.-- - .... --- -." "python"
24+
// 입출력 예 설명
25+
// 입출력 예 #1
26+
27+
// .... = h
28+
// . = e
29+
// .-.. = l
30+
// .-.. = l
31+
// --- = o
32+
// 따라서 "hello"를 return 합니다.
33+
// 입출력 예 #2
34+
35+
// .--. = p
36+
// -.-- = y
37+
// - = t
38+
// .... = h
39+
// --- = o
40+
// -. = n
41+
// 따라서 "python"을 return 합니다.
42+
// a ~ z에 해당하는 모스부호가 순서대로 담긴 배열입니다.
43+
// {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}
44+
45+
package main
46+
47+
import (
48+
"fmt"
49+
"strings"
50+
)
51+
52+
func solution(letter string) string {
53+
morse := map[string]string{
54+
".-": "a", "-...": "b", "-.-.": "c", "-..": "d", ".": "e", "..-.": "f",
55+
"--.": "g", "....": "h", "..": "i", ".---": "j", "-.-": "k", ".-..": "l",
56+
"--": "m", "-.": "n", "---": "o", ".--.": "p", "--.-": "q", ".-.": "r",
57+
"...": "s", "-": "t", "..-": "u", "...-": "v", ".--": "w", "-..-": "x",
58+
"-.--": "y", "--..": "z",
59+
}
60+
61+
slice := strings.Split(letter, " ")
62+
63+
answer := ""
64+
for _, v := range slice {
65+
answer += morse[v]
66+
}
67+
fmt.Println("answer", answer)
68+
return answer
69+
}
70+
71+
func main() {
72+
letter := ".... . .-.. .-.. ---"
73+
solution(letter)
74+
}
+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// 가위 바위 보
2+
// 문제 설명
3+
// 가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
4+
5+
// 제한사항
6+
// 0 < rsp의 길이 ≤ 100
7+
// rsp와 길이가 같은 문자열을 return 합니다.
8+
// rsp는 숫자 0, 2, 5로 이루어져 있습니다.
9+
// 입출력 예
10+
// rsp result
11+
// "2" "0"
12+
// "205" "052"
13+
// 입출력 예 설명
14+
// 입출력 예 #1
15+
16+
// "2"는 가위이므로 바위를 나타내는 "0"을 return 합니다.
17+
// 입출력 예 #2
18+
19+
// "205"는 순서대로 가위, 바위, 보이고 이를 모두 이기려면 바위, 보, 가위를 순서대로 내야하므로 “052”를 return합니다.
20+
21+
package main
22+
23+
24+
25+
func solution(rsp string) string {
26+
answer := ""
27+
28+
for _, v := range rsp {
29+
30+
if string(v) == "2" {
31+
answer += "0"
32+
} else if string(v) == "0" {
33+
answer += "5"
34+
} else if string(v) == "5" {
35+
answer += "2"
36+
}
37+
}
38+
39+
return answer
40+
}
41+
42+
func main() {
43+
// rsp := "2"
44+
rsp := "205"
45+
solution(rsp)
46+
}

0 commit comments

Comments
 (0)