COBI-98
은로그
COBI-98
  • 은로그 (79)
    • Back-End (1)
      • Java (5)
      • Spring (16)
      • DB (1)
      • 알고리즘 (7)
      • ETC (2)
    • 개발 일기 (0)
    • 회고 (4)
    • Project (1)
      • 협업프로젝트 (7)
      • 국비프로젝트 (2)
    • Web (2)
      • Server (2)
    • Git (2)
    • CS (0)
    • 코딩테스트 (24)
      • 백준 (17)
      • 프로그래머스 (7)
    • 우아한 테크코스 (5)

블로그 메뉴

  • ✨깃허브
  • 홈
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
COBI-98

은로그

[프로그래머스 / Java] Lv2 - 예상 대진표
코딩테스트/프로그래머스

[프로그래머스 / Java] Lv2 - 예상 대진표

2023. 1. 4. 15:32

 

🔒 예상 대진표

✔ 문제 설명

🚩 요구사항 분석

  • 2의 지수 승으로 주어지는 n -> 2의 제곱승찾기

🔑 문제풀이

항상 이긴다는 가정하에 주어지는 n을 반으로 나눠 왼쪽과 오른쪽으로 나눈다면,

결국 오른쪽에있는경우는 해당 n의 제곱승이 나오기에 계속 잘라주면서 비교하는 방식으로 풀었다.

class Solution
{
    public int solution(int n, int a, int b){
        int answer = 0;
        int count = 0;
        int s = n;
        for(int i=0; i<=n; i++){
            if (s == 1){
                break;
            }       
            s = s/2;
            count++;           
        }
        
        for(int i = count ; i<=count; i--){
            n = n/2;
            
            if(n < b && n >=a || b<=n && n<a ){
                answer = i;
                break;
            } else if(n <b && n<a){
                b = b-n;
                a = a-n;
            }
            
            
        }
        
        return answer;
    }
}
  • 처음 for 문을 통해  2의 제곱승(count)찾기
  • 최대 결승에서 만난다는 가정하에 반으로 자르면서(count--) 경우의 수를 줄여나감

💡 추가한 테스트 케이스

 

  n param1 param2 return
row1 8 6 8 2
row2 8 1 3 2
row3 16 11 15 3
row4 16 8 9 4

 

n을 반으로 나눴을 때 오른쪽에있는 경우
반으로 나눴을때 왼쪽에있 경우
반으로 나누고 오른쪽, 반으로 나누고 왼쪽에있는 경우

🎯 알아 볼 것

제곱승을 구하는 함수

 

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[프로그래머스 / Java] Lv2 - 짝지어 제거하기  (0) 2023.01.04
[프로그래머스 / Java] Lv2 - 이진 변환 반복하기  (0) 2023.01.04
[프로그래머스 / Java] Lv2 - 올바른 괄호  (0) 2023.01.04
[프로그래머스 / Java] Lv2 - 점프와 순간 이동  (0) 2023.01.04
[프로그래머스 / Java] Lv2 - JadenCase 문자열 만들기  (0) 2023.01.04
    '코딩테스트/프로그래머스' 카테고리의 다른 글
    • [프로그래머스 / Java] Lv2 - 이진 변환 반복하기
    • [프로그래머스 / Java] Lv2 - 올바른 괄호
    • [프로그래머스 / Java] Lv2 - 점프와 순간 이동
    • [프로그래머스 / Java] Lv2 - JadenCase 문자열 만들기
    COBI-98
    COBI-98
    배운 것을 응용하기 위해 기록하는 것을 선호하며 백엔드를 공부하고 있습니다.

    티스토리툴바