Skip to content

Commit be98130

Browse files
committed
Adding: Jadencase, mersskeue, duplicated number, cutting store arr
1 parent 3d4e47d commit be98130

File tree

9 files changed

+419
-4
lines changed

9 files changed

+419
-4
lines changed
+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// 세균 증식
2+
// 문제 설명
3+
// 어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.
4+
5+
// 제한사항
6+
// 1 ≤ n ≤ 10
7+
// 1 ≤ t ≤ 15
8+
// 입출력 예
9+
// n t result
10+
// 2 10 2048
11+
// 7 15 229,376
12+
// 입출력 예 설명
13+
// 입출력 예 #1
14+
15+
// 처음엔 2마리, 1시간 후엔 4마리, 2시간 후엔 8마리, ..., 10시간 후엔 2048마리가 됩니다. 따라서 2048을 return합니다.
16+
// 입출력 예 #2
17+
18+
// 처음엔 7마리, 1시간 후엔 14마리, 2시간 후엔 28마리, ..., 15시간 후엔 229376마리가 됩니다. 따라서 229,376을 return합니다.
19+
20+
package main
21+
22+
import (
23+
"fmt"
24+
"math"
25+
)
26+
27+
func solution(n int, t int) int {
28+
answer := n
29+
for i := 1; i <= t; i++ {
30+
answer *= 2
31+
}
32+
33+
return answer
34+
}
35+
36+
func solution0(n int, t int) int {
37+
fmt.Println(int(math.Pow(2, 11)))
38+
return n * int(math.Pow(2, float64(t)))
39+
}
40+
41+
func main() {
42+
// n := 2
43+
// t := 10
44+
n := 7
45+
t := 15
46+
solution(n, t)
47+
solution0(n, t)
48+
}
+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
// 문자열 정렬하기 (2)
2+
// 문제 설명
3+
// 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
4+
5+
// 제한사항
6+
// 0 < my_string 길이 < 100
7+
// 입출력 예
8+
// my_string result
9+
// "Bcad" "abcd"
10+
// "heLLo" "ehllo"
11+
// "Python" "hnopty"
12+
// 입출력 예 설명
13+
// 입출력 예 #1
14+
15+
// "Bcad"를 모두 소문자로 바꾸면 "bcad"이고 이를 알파벳 순으로 정렬하면 "abcd"입니다.
16+
// 입출력 예 #2
17+
18+
// "heLLo"를 모두 소문자로 바꾸면 "hello"이고 이를 알파벳 순으로 정렬하면 "ehllo"입니다.
19+
20+
package main
21+
22+
import (
23+
"sort"
24+
"strings"
25+
)
26+
27+
func SortString(s string) string {
28+
w := strings.Split(s, "")
29+
sort.Strings(w)
30+
return strings.Join(w, "")
31+
}
32+
33+
func solution(my_string string) string {
34+
answer := ""
35+
for _, v := range my_string {
36+
if v >= 65 && v <= 96 {
37+
v += 32
38+
answer += string(v)
39+
} else {
40+
answer += string(v)
41+
}
42+
}
43+
44+
answer = SortString(answer)
45+
return answer
46+
}
47+
48+
func solution1(my_string string) string {
49+
bytes := []byte(strings.ToLower(my_string))
50+
sort.Slice(bytes, func(i, j int) bool {
51+
return bytes[i] < bytes[j]
52+
})
53+
return string(bytes)
54+
}
55+
56+
func main() {
57+
my_string := "Bbcad"
58+
solution(my_string)
59+
}
+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// 7의 개수
2+
// 문제 설명
3+
// 머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.
4+
5+
// 제한사항
6+
// 1 ≤ array의 길이 ≤ 100
7+
// 0 ≤ array의 원소 ≤ 100,000
8+
// 입출력 예
9+
// array result
10+
// [7, 77, 17] 4
11+
// [10, 29] 0
12+
// 입출력 예 설명
13+
// 입출력 예 #1
14+
15+
// [7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다.
16+
// 입출력 예 #2
17+
18+
// [10, 29]에는 7이 없으므로 0을 return 합니다.
19+
20+
package main
21+
22+
import (
23+
"fmt"
24+
"strings"
25+
)
26+
27+
func solution(array []int) int {
28+
delim := ""
29+
count := 0
30+
answer := strings.Trim(strings.Join(strings.Fields(fmt.Sprint(array)), delim), "[]")
31+
32+
for _, v := range answer {
33+
if v == 55 {
34+
count += 1
35+
}
36+
}
37+
return count
38+
}
39+
40+
func main() {
41+
arr := []int{7, 77, 17}
42+
solution(arr)
43+
}
+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
// 잘라서 배열로 저장하기
2+
// 문제 설명
3+
// 문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.
4+
5+
// 제한사항
6+
// 1 ≤ my_str의 길이 ≤ 100
7+
// 1 ≤ n ≤ my_str의 길이
8+
// my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.
9+
// 입출력 예
10+
// my_str n result
11+
// "abc1Addfggg4556b" 6 ["abc1Ad", "dfggg4", "556b"]
12+
// "abcdef123" 3 ["abc", "def", "123"]
13+
// 입출력 예 설명
14+
// 입출력 예 #1
15+
16+
// "abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다.
17+
// 입출력 예 #2
18+
19+
// "abcdef123" 를 길이 3씩 잘라 배열에 저장한 ["abc", "def", "123"]를 return해야 합니다.
20+
// 유의사항
21+
// 입출력 예 #1의 경우 "abc1Addfggg4556b"를 길이 6씩 자르면 "abc1Ad", "dfggg4" 두개와 마지막 "556b"가 남습니다. 이런 경우 남은 문자열을 그대로 배열에 저장합니다.
22+
23+
package main
24+
25+
func solution(my_str string, n int) (answer []string) {
26+
// n으로 나눈 몫
27+
// n으로 나누고 남은 나머지
28+
// n 단위로 문자열 만들고 배열에 삽입
29+
// 나머지 단위도 문자열을 배열에 삽입
30+
// 배열리턴
31+
32+
rest := len(my_str) % n
33+
for i := 0; i < n*(len(my_str)/n); i = i + n {
34+
answer = append(answer, my_str[i:i+n])
35+
}
36+
if rest != 0 {
37+
answer = append(answer, my_str[n*(len(my_str)/n):])
38+
}
39+
return
40+
}
41+
42+
func solution1(my_str string, n int) (res []string) {
43+
length := len(my_str)
44+
for i := 0; i < length; i += n {
45+
if i+n < length {
46+
res = append(res, my_str[i:i+n])
47+
} else {
48+
res = append(res, my_str[i:])
49+
}
50+
}
51+
return
52+
}
53+
54+
func main() {
55+
// my_str := "abc1Addfggg4556b"
56+
// n := 6
57+
my_str := "abcdef123"
58+
n := 3
59+
solution(my_str, n)
60+
}
+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// 중복된 숫자 개수
2+
// 문제 설명
3+
// 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.
4+
5+
// 제한사항
6+
// 1 ≤ array의 길이 ≤ 100
7+
// 0 ≤ array의 원소 ≤ 1,000
8+
// 0 ≤ n ≤ 1,000
9+
// 입출력 예
10+
// array n result
11+
// [1, 1, 2, 3, 4, 5] 1 2
12+
// [0, 2, 3, 4] 1 0
13+
// 입출력 예 설명
14+
// 입출력 예 #1
15+
16+
// [1, 1, 2, 3, 4, 5] 에는 1이 2개 있습니다.
17+
// 입출력 예 #2
18+
19+
// [0, 2, 3, 4] 에는 1이 0개 있습니다.
20+
21+
package main
22+
23+
func solution(array []int, n int) (count int) {
24+
for _, v := range array {
25+
if v == n {
26+
count += 1
27+
}
28+
}
29+
return count
30+
}
31+
32+
func main() {
33+
// array := []int{1, 1, 2, 3, 4, 5}
34+
array := []int{0, 2, 3, 4}
35+
n := 1
36+
solution(array, n)
37+
}
+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// 머쓱이보다 키 큰 사람
2+
// 문제 설명
3+
// 머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.
4+
5+
// 제한사항
6+
// 1 ≤ array의 길이 ≤ 100
7+
// 1 ≤ height ≤ 200
8+
// 1 ≤ array의 원소 ≤ 200
9+
// 입출력 예
10+
// array height result
11+
// [149, 180, 192, 170] 167 3
12+
// [180, 120, 140] 190 0
13+
// 입출력 예 설명
14+
// 입출력 예 #1
15+
16+
// 149, 180, 192, 170 중 머쓱이보다 키가 큰 사람은 180, 192, 170으로 세 명입니다.
17+
// 입출력 예 #2
18+
19+
// 180, 120, 140 중 190보다 큰 수는 없으므로 0명입니다.
20+
21+
package main
22+
23+
func solution(array []int, height int) (count int) {
24+
for _, v := range array {
25+
if v > height {
26+
count += 1
27+
}
28+
}
29+
30+
return count
31+
}
32+
33+
func main() {
34+
array := []int{149, 180, 192, 170}
35+
height := 167
36+
solution(array, height)
37+
}

codingTest/programmers/level2/hIndex/hIndex.go

-4
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@
1515
// 입출력 예 설명
1616
// 이 과학자가 발표한 논문의 수는 5편이고, 그중 3편의 논문은 3회 이상 인용되었습니다. 그리고 나머지 2편의 논문은 3회 이하 인용되었기 때문에 이 과학자의 H-Index는 3입니다.
1717

18-
// 문제가 잘 안풀린다면😢
19-
// 힌트가 필요한가요? [코딩테스트 연습 힌트 모음집]으로 오세요! → 클릭
20-
21-
// ※ 공지 - 2019년 2월 28일 테스트 케이스가 추가되었습니다.
2218

2319
package main
2420

0 commit comments

Comments
 (0)