내일배움캠프 16일차 TIL - 개인 공부

2024. 5. 7. 09:51·⛺스파르타코딩클럽

240507

# 오늘 꼭 기억 해야 할 것!

오늘의 학습 

    ●  1. 알고리즘 문제 풀이

    ●  2. 조별 과제

    ●  3. JVM

문제 사이트(프로그래머스) : https://programmers.co.kr/

문제1 ( 정수 제곱근 판별 ) Lv.1 : 87%

임의의 양의 정수 n에 대해, n이 어떠한 양의 정수 x의 제곱인지 아닌지 판단하려 한다.

n이 양의 정수 x의 제곱이라면 x + 1의 제곱을 리턴, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 만들어라.

 

나의 풀이

class Solution {
    public long solution(long n) {
        long answer = 0;
        while(true) {
        	// 제곱근을 찾았을 때 조건 수행
            if(answer * answer == n) {
                return (answer + 1) * (answer + 1);
            }
            // 제곱근을 찾지 못했고, 정수 n의 범위를 벗어난 경우 -1 return
            if(answer * answer > n) {
                return -1;
            }
            answer++;
        }
    }
}

처음에는 for문을 이용하려고 했지만 반복의 횟수가 불규칙할 것 같다고 판단을 하여 while문으로 바꿔서 했습니다.

첫 if은 제곱근을 찾았을 때 조건을 수행하며 answer * answer 즉, 같은 정수의 곱셈의 값이 임의의 정수 n과 같을 경우

제곱근이 되며 조건 실행 return값으로는 요구사항에 제곱근을 찾을시 x + 1의 제곱을 리턴 수행

두번째 if문 제곱근의 값을 찾지 못하고, 정수 n의 범위를 벗어난 경우 -1 return

 

JVM

1. 컴파일 시점

소스 코드를 작성하고 컴파일러에 의해 컴파일되는 시점

.java를 ByteCode로 바꾸는 시점을 컴파일 시점( 컴파일러가 해줌 )

2. 런타임 시점

프로그램이 실행되고 난 후 시점.

프로그램이 실행되고 사용자와 상호작용하는 동안 발생하는 시간.

프로그램 시작 후 객체가 생성되며 메소드 호출 시점

 

# 오늘의 회고

오늘은 예외처리, Enum클래스와 스프링 기초 제네릭 등등을 복습하였고 알고리즘 문제를 몇개 풀었다.

복습 느낌이라 딱히 쓸 내용이 없어서 TIL이 짧은게 좀 아쉽지만 공부를 열심히 했으므로 오늘도 keep going.

'⛺스파르타코딩클럽' 카테고리의 다른 글

내일배움캠프 18일차 TIL - 람다(메서드 참조, 생성자 참조)  (0) 2024.05.10
내일배움캠프 17일차 TIL - 함수형 인터페이스, 익명 클래스  (2) 2024.05.09
내일배움캠프 15일차 TIL - 과제 피드백(Calculator)  (1) 2024.05.03
내일배움캠프 14일차 TIL - 웹(Stateless, Stateful)  (1) 2024.05.02
내일배움캠프 13일차 TIL - 확장&상속(Extends)  (1) 2024.05.01
'⛺스파르타코딩클럽' 카테고리의 다른 글
  • 내일배움캠프 18일차 TIL - 람다(메서드 참조, 생성자 참조)
  • 내일배움캠프 17일차 TIL - 함수형 인터페이스, 익명 클래스
  • 내일배움캠프 15일차 TIL - 과제 피드백(Calculator)
  • 내일배움캠프 14일차 TIL - 웹(Stateless, Stateful)
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    오늘
    어제
    • 전체보기 (151)
      • 🎓방송통신대학교 (26)
        • 🖥️컴퓨터과학과 (1)
        • 🌍유비쿼터스 컴퓨팅 (11)
        • ⚙️컴퓨터의 이해 (11)
        • 🏛️세계의정치와경제 (3)
      • 📚Computer Science (0)
      • 🛠️Backend (2)
      • ☕Java (20)
        • 📝Java Programming (19)
        • 🧩Java Design Pattern (1)
      • 🌳Spring (9)
        • 🌱Spring Framework (6)
        • 🌱Spring Security (1)
      • ⚡Python (13)
      • 🛢️Database (0)
      • 🌿GitHub (1)
      • 🌐 Network (7)
        • 📜HTTP (7)
      • 🚀DevOps (1)
      • Algorithm Problem Solving (2)
      • Data Structure (1)
      • JavaScript (1)
      • ⛺스파르타코딩클럽 (65)
      • 잡담 (1)
      • 정리가 필요한 글 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    클래스
    spring
    유비쿼터스 컴퓨팅개론
    방송통신대학교
    컴파일러
    Java
    입출력
    방통대
    자바
    Python
    다형성
    유비쿼터스
    스프링
    컴퓨터의 이해
    방송대
    파이썬
    세계화
    유비쿼터스 컴퓨팅
    클라우드
    Spring Framework
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
junbin2
내일배움캠프 16일차 TIL - 개인 공부
상단으로

티스토리툴바