[Go-Tour] 슬라이스 연습하기

mmoo·2022년 5월 15일
0

Go-Tour

목록 보기
1/2
post-thumbnail

슬라이스 연습하기 링크

문제

💡 Pic 을 구현해봅시다. 이것은 dy 슬라이스의 길이와 dx 슬라이스의 각 요소를 8 비트 부호 없는 정수로 반환해야 합니다.
이 프로그램을 실행하면, 이것은 grayscale (well, bluescale) 값으로 변환된 그림을 보여줍니다.
이미지 선택은 여러분에게 달려 있습니다. 흥미로운 함수로 (x+y)/2 , x*y , 그리고 x^y 를 제공합니다.
(루프를 사용하여 [][]uint8 안에 각 []uint8 을 할당해야 합니다.)
(타입 간에 변환하려면 uint8(intValue) 을 사용하세요.)

처음에는 문제를 보고 당황했다.. 번역이 조금 매끄럽지가 않아서..🤪

👉 조건 정리

  • 슬라이스의 길이 dy가 주어진다.
  • 슬라이스의 각 요소 개수 dx가 주어진다.
  • 각 요소는 8비트의 부호 없는 정수로 반환한다.
  • 예시로 제공된 세가지 함수로 요소를 계산한다. (선택사항)
  • 최종값은 [][]uint8 타입으로 반환한다.

역시 튜토리얼이라서 그런지 매우 친절하게 조건을 하나하나 설명해줬다...

해당 조건들을 활용해서 구현해보자!

코드

package main

import "golang.org/x/tour/pic"

func Pic(dx, dy int) [][]uint8 {
	rs := make([][]uint8, dy)
	
	for y := range rs {
		rs[y] = make([]uint8, dx)
		
		for x := range rs[y] {
			rs[y][x] = uint8((x+y)/2)			
		}
	}
	
	return rs
}

func main() {
	pic.Show(Pic)
}

결과

실행하면 이런 이미지가 나온다!

여기서 제공된 함수만 바꿔주면 또 다른 이미지가 나온다😏

~슬라이스 연습 끗~

profile
팔수록 모르는게 계속 나와💩

0개의 댓글