본문 바로가기

Java107

3진법 뒤집기 주어진 Int n을 3진법으로 표현후, 뒤집고, 다시 10진법으로 변환하면된다. ㅇ 풀이 public int solution(int n) { int answer = 0; //int n 을 3진수로 변환 String th = Integer.toString(n,3); //변환한 n인 th를 뒤집어서 담을 ht String ht = ""; //th를 뒤집는다. for(int i = th.length()-1; i >= 0; i--){ ht += th.charAt(i); } //3진수인 ht를 다시 10진수로 변환한다. answer = Integer.parseInt(ht,3); return answer; } 진수변환하는걸 사실 까먹어서 찾아봤다. 잊지말자! 2024. 2. 5.
직사각형 별찍기 ㅇ 풀이 class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); String star = "*"; String Star = ""; int i = 0; while(i < a){ Star += star; i++; } for(int j = 0; j < b; j++){ System.out.println(Star); } } } 먼저 *를 a만큼 붙혀보자. while문을 통해서 star를 a개를 붙히고, b만큼 출력을하면된다. 쏘 이지. 2024. 2. 2.
행렬의 덧셈 같은 인덱스끼리의 덧셈을 구하는 간단한 문제다. 이중for문 써서 풀면되는문제다. 주의할점은 첫번째 for문에서는 arr1이나 arr2의 '행'길이 전까지 반복해야하고, 두번째for문에선 arr1 이나 arr2의 '열'길이만큼 반복해야한다는것이다. 내가이걸 잘못설정해서 30분동안 뭐지?뭐지?했다. ㅇ 풀이 public static int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = new int[arr1.length][arr1[0].length]; for(int i = 0; i < arr1.length; i++){ for(int j = 0; j < arr1[0].length; j++){ answer[i][j] = arr1[i][j]+arr2.. 2024. 2. 1.
문자열 다루기 기본 ㅇ 풀이 public boolean solution(String s) { boolean answer = true; if(s.length()==4 || s.length()==6){ for (char c : s.toCharArray()) { if (!Character.isDigit(c)) { return false; } } }else{ return false; } return answer; } 길이가 4 나 6이어야하니, 4,6이 아닐땐일단 false로 해놓고, 4,6일땐 주어진 String s 를 한글자씩 char로 바꿔, Character의 isDigit()은 10진수 숫자인지 판별하는 메서드이므로 10진수의 숫자가 아닌경우엔 바로 false를 반환한다. 2024. 1. 29.