본문 바로가기
==5. 활동==/학습활동

[학습활동] ZeroBase BE_Part 5기 23주차 복습 및 회고

by Dohi._. 2024. 12. 8.
728x90

ZeroBase BE 주차(12월2일~12월8일)

이번주 공부 리스트

  • 코테 문제풀이 
  • 선형자료구조
  • 비선형자료구조

회고

연습문제 1-1~1-5를 푸는 과제였다 

 

 

 

문제관련되서 스포하면 안되기 때문에

회고를 어떻게 할까 고민을 했는데 

그냥 풀면서 아 맞다~ 이랬었지 하는

문제에 대한 메소드를 적어보려한다.

 

1. 문자열 반복 

String str = ".".repeat(5);
//str -> .....

 

2. 최대공약수 구하기

    public int gcd(int a, int b) {
        while (b != 0) {
            int temp = b;
            b = a % b;
            a = temp;
        }
        return a;
    }

 

3. StringBuilder 인덱스로 글자지우기

StringBuilder result = new StringBuilder();

result.deleteCharAt(인덱스);

 

4. 스택으로 짝맞추기 

 Stack<Character> stack = new Stack<>();
       if (c == '(' || c=='}' ) {
                stack.push(c);
         } else if (c == ')' || c=='{') {
        		if (stack.isEmpty()) {
            		 return false;
          			}

                char top = stack.pop();
                if ((c == ')' && top != '(') || 
                    (c == '}' && top != '{') {
                    return false;
                }
            }
        }

        return stack.isEmpty() ;
    }

 

5. Set혹은 list에 값이 존재하는 지 확인하기

       HashSet<String> setOne = new HashSet<>();
       List<String>  listTwo  = new ArrayList<>();

        for (String person : 사람배열) {
            if (setOne.contains(person) && listTwo.contains(person)) {
                return "둘다존재";
            }
        }

 

6. XOR 및 String 2진수를 10진수로 변환 

      int answer = Integer.parseInt("101010",2);
          answer = answer ^ Integer.parseInt("100101",2); 
          //^ -> xor
          // Integer.parseInt("A7",16); 16진수도 변환가능

 

7. 문자열 반전시키기

   public String 문자열반전(String s) { 
        // return new StringBuilder(s).reverse().toString();

        Stack<Character> stack = new Stack<>();
        for(char c : s.toCharArray()){
            stack.push(c);
        }

        StringBuilder reversed = new StringBuilder();
        while (!stack.isEmpty()) {
            reversed.append(stack.pop());
        }

        return reversed.toString();
    }

 

8. 소문자는 대문자  대문자는 소문자로 

public String 소문자대문자(String s) {
        StringBuilder sb = new StringBuilder();

        for (char c : s.toCharArray()) {
            if (Character.isLowerCase(c)) {
                sb.append(Character.toUpperCase(c)); // 소문자 → 대문자
            } else if (Character.isUpperCase(c)) {
                sb.append(Character.toLowerCase(c)); // 대문자 → 소문자
            } else {
                sb.append(c); // 소문자나 대문자가 아닌 경우 그대로 추가
            }
        }

        return sb.toString();
    }

복습포스팅

728x90

댓글