Java/알고리즘63 압축 ㅇ 1트 먼저 길이가 자유로운 리스트에다가 알파벳을 순서대로 집어넣었다. 완벽히 풀진 않았지만 1트에서 구현 하고자 했던건 KAKAO가 주어질때, KAKAO를 alp에서 찾고 없으면 KAKA를 찾고 없으면 KAK를 찾고 없으면 KA를 찾고 없으면 K를 찾고 있으니,K의 index인 11를 ans 리스트에 집어넣는것과 KA를 alp에다가 넣는것 까지 구현했다. ans를 리스트로 만든이유는, 반복문을 돌 때 언제끝날지 모르기 때문에 add를 쓰면 쉬워지기 때문에 리스트로 썼다. 이제 구현해야하는건, 그 다음에 AKAO부터 차례로 다시 검증해가면서 index를 ans에 집어넣고, AK를 alp에 넣는것이다. 이렇게 마지막 까지 반복하는거다. public static int[] solution(String ms.. 2023. 10. 26. while문의 사용에 익숙해져보자 알고리즘 문제를 풀다보면, 반복문을 거의 항상 쓴다. 그런데, 나는 항상 for문에만 익숙해져있어서 while문을 잘 안썼다. 그런데 다른분들의 풀이를 보면, 많이 while문을 사용하는걸 볼 수 있었다. 그래서 while문에 대해 공부해보고, 익숙해져보려 한다. 먼저 while문의 구조에 대해 보면, while (조건문) { ; ; ; ... } 이게 기본이다. 조건문이 참인동안 수행할문장들을 수행한다. 그래서 처음 while문을 배울때 가장 많이 나오는 예시가 열번찍어 안넘어가는 나무를 구현한 코드다. int treeHit = 0; while (treeHit < 10) { treeHit++; // treeHit += 1 로도 표현 가능 System.out.println("나무를 " + treeHit .. 2023. 10. 25. Lv1로 쉬어가기 (5문제) lv2가 점점 어려워지고 있다. 기본기를 다지기 위해 Lv1을 5개만 풀어야겠다. 1. 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. ㅇ 내가푼 코드 public static int solution(int n) { int answer = 0; //n을 String 으로 바꾸고 String numStr = Integer.toString(n); //각자리수를 int로 바꿔서 answer에다가 다 때려박음 for(int i = 0; i < numStr.length(); i++){ answer += Character.getNumericValue(numStr.charAt.. 2023. 10. 25. 알고리즘 공부(2) - 자료구조(리스트,세트,맵) ㅇ 리스트(List) ㅁ 리스트의 특징 - 배열이 가진 인덱스를 버리고 빈틈없는 데이터의 적재를 취함 - 순서가 있는 데이터의 모임 - 빈 엘리먼트x - 데이터 갯수가 정해져있음 - ArrayList, LinkedList, Vector ㅁ 리스트의 메서드 List l = new ArrayList();//길이를 안정하면 기본 저장용량 10으로 생성 l.add("김"); l.add("태"); l.add("형"); l.remove("김");//"김" 삭제 l.remove(0);//"김"이 사라져서 "태"가 0번이 됨. "태" 삭제 System.out.println(l.size());// "형" 만남아서 1이 출력됨. ㅇ 세트(Set) ㅁ 세트의 특징 - 저장 순서가 유지 되지 않음 - 중복 저장 불가능 - 수.. 2023. 10. 24. 이전 1 ··· 7 8 9 10 11 12 13 ··· 16 다음