x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.
def solution(dot): x,y = dot[0],dot[1] if x > 0 and y > 0: return 1 elif x < 0 and y >0: return 2 elif x < 0 and y <0: return 3 else: return 4
이제 이 정도 문제는 금방 풀 수 있다!
과연 실력이 늘까 걱정이었는데, 조금은 성장한 것 같아서 기분이 좋아지는 문제였다.
このくらいの問題は、もうすぐに解けるようになった!
本当に実力が伸びるのか少し心配だったけど、少しは成長している気がして、嬉しくなった問題だった。
정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요.
def solution(num_list, n): answer = []
`for i in range(0,len(num_list),n):
answer.append(num_list[i:i+n])
return answer`
2차원 배열이라는 말은 그대로 행과 열의 구조를 가진 배열 ⇒ 표나 엑셀 같은 형태의 데이터 구조
파이썬에서는 보통 리스트 안에 리스트를 넣어서 2차원 배열을 만든다.
for row in arr:
for num in row:
print(num)
또는
for i in range(len(arr)):
for j in range (len(arr[i])):
print (arr[i][j])
2차원 배열이라는 말이 어렵게 다가와서 당황했지만!
행과 열로 이루어진 표와 같다는 말에 쉽게 이해가 된 것 같다.
最初は「二次元配列」という言葉だけを見ると少し難しく感じて、正直少し戸惑いました。
ですが、「行」と「列」で構成された表のようなものだと理解してからは、イメージが一気に掴みやすくなりました。
実際に考えてみると、エクセルの表やマス目のような構造なので、思っていたよりもシンプルな概念だと感じました。
머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.
def solution(numbers, k): return numbers[(2 * (k-1))%len(numbers)]
수학적 사고방식이 덜 켜졌는지 어떤 식으로 풀어야할 지는 알았지만 어떻게 표현 해야하는지 감이 안 잡혔다.
수학적 사고방식과 프로그래밍적 사고방식을 키우는데 집중해야겠다.
解き方の方向性自体はなんとなく分かっていたのですが、
それをどのようにコードとして表現すればいいのかがうまく思い浮かびませんでした。
まだ数学的な思考が十分に身についていないと感じたので、
これからは数学的思考とプログラミング的思考の両方を意識して鍛えていきたいと思います。
def solution(numbers, direction): return [numbers[-1]] + numbers[:-1] if direction == "right" else numbers[1:] + [numbers[0]]
오른쪽 회전
[1,2,3]→[3,1,2]
⇒ 슬라이싱 활용
numbers = [1,2,3,4]
[number[-1]] + numbers [ :-1]
[4] + [1,2,3]
왼쪽 회전
[1,2,3] → [2,3,1]
numbers = [1,2,3,4]
numbers =[ 1 : ] + [numbers [0]]
[2,3,4] + [1]
슬라이싱을 이런 식으로도 활용할 수 있다는 걸 알 수 있는 문제였다.
뭔가 단순하지만 이걸 활용해서 구현할 수 있는 것들이 많을 것 같은 느낌이다.
スライシングはこういう形でも活用できるのだと気づかされた問題でした。
一見とてもシンプルですが、こうした考え方を使えば実装できることが思った以上に多そうだと感じました。