티스토리

재 현
검색하기

블로그 홈

재 현

trashyou.tistory.com/m

기록과 공유

구독자
0
방명록 방문하기
공지 기록과 소통을 목적으로 합니다. 모두보기

주요 글 목록

  • 구명보트 def solution(people, limit): people.sort() answer = 0 i = 0 j = len(people)-1 while i 공감수 0 댓글수 0 2021. 11. 17.
  • 큰 수 만들기 "앞자리 숫자가 가장 큰 수가 큰 수" 만들기다. 1 9 2 4를 예로 들어보자. 1을 넣고 9와 비교한다 9가 1보다 크기 때문에 1를 pop해주고 9를 넣는다 9와 2를 비교한다 9는 2보다 크므로 그 자리에 두고 2를 넣는다 9 2 4 4와 2를 비교한다 4는 2보다 크므로 2를 pop해주고 4를 넣는다 공감수 0 댓글수 0 2021. 10. 29.
  • 가장 큰 수 num이 1000이하이기 때문에 세자리수로 맞춰준다 666 664 일 경우, 차례대로 비교를 한다 마지막에 int -> str인 이유는 0000일 때를 고려하기 때문 공감수 0 댓글수 0 2021. 10. 25.
  • 방금 그 곡 문제 해설 부분 문자열 비교를 묻는 문제입니다. 하지만 멜로디의 각 음을 나타내는 글자가 한 글자일 수도 있고, 두 글자일 수도 있습니다. “ABC”라는 멜로디는 “ABCD”라는 악보에는 들어있지만, “ABC#”라는 악보에는 들어있지 않습니다. C#이 하나의 음을 이루고 있기 때문이죠. 문자열 비교에서 이런 문제를 처리해야 할 일이 있습니다. 1차 코딩 테스트에서 설명했던 토큰화Tokenizing를 통해 “ABC#”을 [“A”, “B”, “C#”] 식의 배열로 변환한 후에 비교를 수행할 수도 있고요. 아니면 두 글자로 된 “C#”, “D#”, “F#” 등을 악보에서 사용되지 않는 문자인 “c”, “d”, “e” 등으로 치환Substitution한 후에 문자열 비교 함수를 이용할 수도 있습니다. 공감수 0 댓글수 0 2021. 10. 21.
  • 예산 def solution(d, budget): d.sort() while budget 공감수 0 댓글수 0 2021. 10. 19.
  • 위장 def solution(clothes): d = dict() for i,j in clothes: if j not in d: d[j] = 1 else: d[j] += 1 r = 1 for i in d.values(): r *= (i+1) return r - 1 공감수 0 댓글수 0 2021. 10. 18.
  • 기능개발 def solution(progresses, speeds): answer = [] day = 0 cnt = 0 days = [] for a,b in zip(progresses, speeds): if (100 - a) % b == 0: day = (100 - a) // b else: day = (100 - a) // b + 1 days.append(day) p = days[0] for i in range(len(days)): if p 공감수 0 댓글수 0 2021. 10. 17.
  • 숫자 문자열과 영단어 def solution(s): dic = { "zero" : "0", "one" : "1", "two" : "2", "three" : "3", "four" : "4", "five" : "5", "six" : "6", "seven" : "7", "eight" : "8", "nine" : "9" } for key, value in dic.items(): s = s.replace(key,value) return int(s) 공감수 0 댓글수 0 2021. 10. 13.
  • 카카오 신규아이디 추천 같은 문자반복 문자열 앞뒤 자르기 슬라이싱 적극 활용하기 공감수 0 댓글수 0 2021. 10. 13.
  • 올바른 괄호 def solution(s): answer = True array = [] if s[0] == ")": return False for i in s: if i == ")": if len(array) ==0 or array[-1] == i: return False else: array.pop() else: array.append(i) if len(array): answer = False return answer 공감수 0 댓글수 0 2021. 9. 13.
  • 짝지어 제거하기 def solution(s): array = [] for i in s: if len(array) == 0: array.append(i) elif array[-1] == i: array.pop() else: array.append(i) if len(array) == 0: return 1 return 0 스택과 큐 문제에선 array[-1]을 사용하자 공감수 0 댓글수 0 2021. 9. 13.
  • 큰 수 만들기 ex) 1924, 2 끝 '24'자리를 뺀 19에서 가장 큰 수를 찾는다 -> 9 -> 추가 9의 오른쪽부터 '24'중에 가장 큰 수를 찾는다 -> 4 -> 추가 => 94 ex) 1231234, 3 끝 '234'자리를 뺀 1231에서 가장 큰 수를 찾는다 -> 3 -> 추가 3의 오른쪽부터 시작 1234에서 끝 '34'자리를 뺀 12에서 가장 큰 수를 찾는다 -> 2 -> 추가 2의 오른쪽부터 시작 나머지 '34'를 추가 => 3234 공감수 0 댓글수 0 2021. 7. 6.
  • 다음 큰 숫자 import java.util.*; import java.math.*; class Solution { public int solution(int n) { int onecnt = 0; String binary = Integer.toBinaryString(n); char [] arr = binary.toCharArray(); for(char a : arr) { if(a=='1') onecnt++; } int another_onecnt = 0; while(true) { String binary2 = Integer.toBinaryString(n+1); char [] arr2 = binary2.toCharArray(); for(char a : arr2) { if(a=='1') another_onecnt++; } .. 공감수 0 댓글수 0 2021. 7. 4.
  • H-index 이중 반복문을 사용한 시간복잡도면에선 좋지 않은 코드이다. 마지막 테스트 케이스에서 시간초과가 떠서 if (cnt > answer) break; 을 추가해 반복횟수를 줄여주었더니 겨우 통과했다. 원소 값은 점점 감소하고, 원소 값 이상인 것의 개수는 점점 감소한다. 이 두 값의 접점을 찾는다. // citaitons[citations.length -1 - i] 은 점점 감소하고 answer는 계속 커짐 공감수 0 댓글수 0 2021. 7. 1.
  • N개의 최소공배수 공감수 0 댓글수 0 2021. 6. 29.
  • 숫자의 표현 주어진 자연수의 합의 개수 = 홀수 약수의 개수라는 정리가 있단다,,, 공감수 0 댓글수 0 2021. 6. 29.
  • JadenCase 문자열 만들기 보다시피, 굉장히 시간차이가 많이 나는 걸 알 수 있다. 때문에 문자열을 추가하거나 할 때는 번거롭더라도 StringBuilder를 통해 푸는 것이 좋다. // split(" ", -1) 에서 -1를 한 이유는 문자열이 공백으로 끝날 수가 있기 때문이다. -1를 넣어주지 않으면, split은 뒤 공백을 인자로 처리하지 않는다. 공감수 0 댓글수 0 2021. 6. 29.
  • 100일 후의 날짜 public static void main(String[] args) { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE,100); StringBuilder sb = new StringBuilder(); int yyyy = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH); int date = cal.get(Calendar.DATE); String s = sb.append(yyyy).append("년").append(month).append("월").append(date).append("일").toString(); System.out.print(s); } 공감수 0 댓글수 0 2021. 6. 26.
  • 같은 숫자는 싫어 공감수 0 댓글수 0 2021. 6. 24.
  • 제일 작은 수 제거하기 import java.util.*; class Solution { public int[] solution(int[] arr) { ArrayList integerArray = new ArrayList(arr.length); for (int i : arr) { integerArray.add(i); } integerArray.remove(integerArray.stream().min(Integer::compare).orElse(-1)); if(integerArray.size()==0) integerArray.add(-1); int [] answer = new int [integerArray.size()]; Iterator it = integerArray.iterator(); for(int i=0; i list.. 공감수 0 댓글수 0 2021. 6. 24.
  • 시저암호 class Solution { public String solution(String s, int n) { String answer = ""; char[] arr = s.toCharArray(); for (char c : arr) { int p = c+n-26; char convertedChar = (char)p; int q = c+n; char convertedChar2 = (char)q; // 1. A~Z라면 if(c>='A' && c90) { answer += convertedChar; } else { answer += convertedChar2; } } // 2. a~z라면 else if(c>='a' && c122) { answer += convertedChar; } else { answer += .. 공감수 0 댓글수 0 2021. 6. 23.
  • 소수 찾기 일단 2~n까지의 모든 수를 true로 초기화 한다. 에라토스테네스의 체라는 개념을 통해 모든 배수들을 false처리로 제거해준다 소수인 숫자를 센다. 공감수 0 댓글수 0 2021. 6. 22.
  • 이상한 문자 만들기 answer.length()-1 // 뒤에 " " 한 것 제거 split("",-1); -> split 메소드는 String[] split(String regex, int limit) 와 같이 선언되어있고, limit은 반환될 배열의 길이에 영향을 주게됩니다. limit은 크게 > 0 , == 0, < 0 3가지 경우로 나눌 수 있으며 각 경우에 따라 결과가 달라집니다. split(" ", 0) 혹은 split(" ")의 경우 "abc "에서 값이 없는 c뒷부분을 제거하기때문에 [a],[b],[c]로 반환됩니다. 반면 0보다 작은 -1을 지정한 split(" ",-1)은 구분자로 나눈 모든 결과값을 반환하기떄문에 [a],[b],[c],[ ]로 반환됩니다. 공감수 0 댓글수 0 2021. 6. 16.
  • 서울에서 김서방 찾기 ArraysList arr = new ArrayList(Arrays.asList(array)); 이런 식으로 굳이 하지 않아도 반환값만 필요하다면 Arrays.asList(array).indexOf("Kim")으로도 충분하다. 하지만 IndexOf가 for문이 내장되어 있기 때문에 굳이 불필요한 메모리를 낭비한다는 것이 사람들의 주요 의견이다. 그렇기 때문에, 풀이2 같은 경우가 더 좋은 풀이라고 볼 수 있다. * 개념 for (String name : seoul) if name.equals("Kim") 문자열에 변수 넣기 1) " " +변수+ " "; 2) String str = String.format("%s", i); 공감수 0 댓글수 0 2021. 6. 15.
  • 문자열 내 마음대로 정렬하기 *개념 Arrays.sort(strings, Comparator.comparing((s) -> s.substring(n,n+1))); // (s)가 인자, s.substring()이 조건 // 참고하면 유용 티스토리 https://aomee0880.tistory.com/158 공감수 0 댓글수 0 2021. 6. 15.
  • 문자열 내 p와 y의 개수 *개념 char [] arr = s.toCharArray() ; // 문자열을 char 배열로 바꾸기 s.toLowerCase()는 다른 변수에 저장하여 사용하기 공감수 0 댓글수 0 2021. 6. 15.
  • 문자열 내림차순으로 배치하기 *개념 String[] arr = s.split("") // 문자열을 문자열 배열로 전환 String answer = String.join("",arr) // 문자열 배열을 문자열로 전환 공감수 0 댓글수 0 2021. 6. 15.
  • 정수 내림차순으로 배치하기 Collections는 Integer만 가능 / Primitive ( int, double, long ,,,, )이면 오류 발생 * 오름차순 & 내림차순개념 오름차순 : Array.sort() 비교적 쉬움 내림차순 : int -> 문자열 -> 문자열 배열 -> Arrays.sort(arr, Collections.reverseOrder()) 공감수 0 댓글수 0 2021. 6. 15.
  • 콜라츠 추측 int num -> long num 수정 #13번째 케이스 input이 1이면 0으로 반환해야함 공감수 0 댓글수 0 2021. 6. 13.
  • 최대공약수 최소공배수 *개념 BigInteger , gcd 메소드 최소공배수는 직접 구하기 공감수 0 댓글수 0 2021. 6. 13.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.