<aside>
💡 Notion 팁: 새 페이지를 만들고 템플릿 목록에서 데일리 일기
를 선택해 매일 아래 양식을 자동으로 생성할 수 있어요.
</aside>
using System;
using System.Collections.Generic;
using System.Linq;
public class Solution {
public int solution(int[] elements) {
int answer = 0;
HashSet<int> answerSet = new HashSet<int>();
for (int i = 1; i <= elements.Length; i++) {
for (int j = 0; j < elements.Length; j++) {
int sum = 0;
for (int k = 0; k < i; k++) {
if (j + k > elements.Length - 1)
sum += elements[j + k - elements.Length];
else
sum += elements[j + k];
}
answerSet.Add(sum);
}
}
answer = answerSet.Count;
return answer;
}
}
연속 부분 수열 합의 개수 문제를 3중 for문으로 풀었더니 시간 초과가 안 난게 이상할 정도로(…) 실행 시간이 꽤 걸린다.
hashset을 사용하지 않았더라면 시간 초과 났을 듯 ,,
<aside> 🔢 22. 오버로딩과 오버라이딩의 차이점을 설명해주세요.
메서드 오버라이딩과 메서드 오버로딩은 객체 지향의 특징 중 하나인 다형성의 대표적인 예시입니다. 객체 지향에서의 다형성도 이와 비슷합니다. 다형성이란 어떤 객체의 속성이나 기능이 그 맥락에 따라 다른 역할을 수행할 수 있는 특성입니다.
메서드 오버라이딩은 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의하는 것을 의미합니다. 상속받은 메소드를 그대로 사용할 수도 있지만, 자식 클래스에서 상황에 맞게 변경해야하는 경우 오버라이딩할 필요가 생깁니다. 이 경우 같은 이름의 메서드를 각각의 클래스의 맥락에 맞게 재정의하여 사용할 수 있습니다. 메서드의 이름이 서로 같고, 매개변수가 같고, 반환형이 같을 경우에 상속받은 메서드를 덮어쓴다고 생각하면 됩니다.
메서드 오버로딩은 하나의 클래스 내에서 같은 이름의 메서드를 여러 개 중복하여 정의하는 것을 의미합니다. 이 때 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답할 수 있게 됩니다.
</aside>
MinimapCamera의 position.y값을 30에서 100으로 늘리고,