일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 정렬
- 프로그래머스
- 연결리스트 정렬
- Queue
- 임의 정밀도 / 큰 수 연산
- 사칙연산
- 문자열제곱
- 연결리스트 중복제거
- LeetCode 83 c언어
- 큰 수 연산
- 구현
- 문자열
- KMP알고리즘
- 브루트포스 알고리즘
- 재귀
- 큐
- 이분 탐색
- 조합론
- 실패함수
- 자료 구조
- 해시를 사용한 집합과 맵
- 수학
- LeetCode Remove Duplicates from Sorted List in c
- 시뮬레이션
- 정수론
- 다이나믹 프로그래밍
- 유클리드 호제법
- LeetCode 83번
- 스택
- 별 찍기
- Today
- Total
목록분류 전체보기 (208)
hahn
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bRuWRT/btrc3qE7Tev/ymtkd2ac8HdToQte2PyonK/img.png)
손익분기점 구하는 문제 그냥 무난했다. 손익분기점이 뭘 의미하는지 알면 충분히 풀 수 있는 문제 가격과 비용이 똑같은 경우만 처리해주면 된다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dewazP/btrc1TgvdOM/zef8zzI3L7kUjuRJffi69K/img.png)
import java.util.Scanner; class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int insertWord = sc.nextInt(), answer = 0, strArrLength; String word; char compare; boolean check; String[] strArr; for(int i = 0; i < insertWord; i++){ check = true; word = "A" + sc.next() + "A"; for(int j = 0; j < 26; j++){ compare = (char) (97 + j); strArr = word.split(Character...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bySnG9/btrcOd86Phl/aeO4G43xJqsaPkhzm77e8K/img.png)
8. 다이얼 어떻게 할까 하다가 7, 9번은 4개씩 있어서 조건 처리하기 애매해서 6까지만 for 문 처리하고 따로 뺏다. 9. 크로아티아 알파벳 그냥 replaceAll 쓰는데 영향 없는 a로 바꿔서 length() 체크함. 10. 그룹 단어 체커 더보기 import java.util.Scanner; class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int insertWord = sc.nextInt(), answer = 0, strArrLength; String word; char compare; boolean check; String[] strArr; for(int i = 0; i < inse..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/eeguEo/btrcSsDMwkw/fY4B3hrknkNSoQgtc1hyyK/img.png)
오늘 목표 달성했으니 그만할 거다. 1. 아스키 코드 갑자기 숫자로 문자 나타내라길래 당황했는데 hashCode 쓰면 될 거 같아서 해봤는데 됐다. 2. 숫자의 합 처음에 원래 이 방법대로 하다가 뭔가 길어질 거 같아서 숫자로 받는 걸로 방향을 틀었는데 25자릿 수 입력 때문에 int, long 둘 다 오류 떠서 다시 원점으로 돌아왔다. 근데 생각해 보니까 -48 해주면 될 거 같아서 해봤는데 됐다. 진작 이렇게 할걸... 역시 주제(내 주제 아님 문자열 말하는 거임)에 맞게 소스 짜야 한다. 3. 알파벳 찾기 위랑 같은 맥락 4. 문자열 반복 계속하면서 뭔가 변수가 늘어나는데 더 쉬운 방법이 있지 않을까 다른 사람 코드도 참고해야겠다. 5. 단어 공부 더보기 import java.util.Scanner..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cM8Ozk/btrcViU7vpd/IRoKuQTz31krI1SP7bzCFK/img.png)
1. 정수 N개의 합 문제가 길어서 뭐지 했는데 언어 별로 나눠둔 것 문제라고 올려둔 거 같지는 않다. 2. 셀프 넘버 셀프 넘버는 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의한다. 처음 문제를 읽고 와... 이걸 어떻게 식으로 만들지 하고 갑자기 난이도가 상승함에 난 진짜 아무것도 아니구나 싶었다.. 일단 내가 얻을 수 있는 힌트는 문제에서 100보다 작은 셀프 넘버와 이 출력 예제이다. 대충 보니 1의 자리 제외하고는 11이 더해진다는 것을 알 수 있었다. 그래서 어.. 쉽게 풀리겠는데 하고 제출 눌렀는데 어림도 없지 ㅋㅋㅋㅋ 그래서 뭐가 문제인지 찾아봤는데 출력 예제의 마지막 숫자를 보니 9997이 아닌 9993이 옳은 출력이라는 거다. 그래서 3자릿 수나 4자릿 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bdvFIc/btrcOeF75QM/ZrfLS6a4th5vC8eH9mkBUK/img.png)
왜 안될까 곰곰이 생각을 해봤다. 반례를 알아봤어야 했는데 이미 주어진 것을 제외하고는 그나마 의미 있다고 생각된 게 첫 번째 와 마지막 숫자의 나머지가 일치하면? 이게 문제가 될 것 같았다. 그래서 테스트로 1 2 3 4 5 6 7 8 9 1을 넣어봤는데 역시 이게 문제였다. 코드를 다시 보니 if(arr[j] == -1){ result--; break; } 이 부분이 문제였던 거다 조건 처리를 j로 하게 해두니까 당연히 문제지 어휴.... 그래서 그냥 별생각 없이 직관적으로 이렇게 바꿔봤는데 이것도 안 되는 거다. 이것도 조금 생각해 보니 당연히 i + 1 해놓고 break 걸어두면 전체 비교를 하지 않는 걸 깨닫고 이렇게 수정하니 됐다. if문 두 개 걸어 둔 거는 boundsException 뜰 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/d3w7nJ/btrcVjl8JxF/FYkKJI1mJlQoAffPgkAE01/img.png)
슬슬 조금 난이도가 올라가는 거 같아서 2번째부터는 코드를 복사해서 이클립스로 테스트해보면서 했다. 일단 이 정도는 손 코딩이 가능해야 하니까 웹에 작성을 먼저 하는 걸로 1. 최소, 최대 nextInt, nextLine 이거 같이 사용하면 이상함. 잘 생각하고 쓰자. 2. 최댓값 최댓값과 최댓값이 몇 번째로 입력된 건지 구하는거였는데 멍청하게 문제 잘못 읽어서 2번째로 입력된 숫자가 몇 번째로 큰 수인지 구하고 있었음; 3. 숫자의 개수 숫자의 개수를 어떻게 구할까 고민하다가 for 문 이용해서 계속 10으로 나누는 방법을 생각해냄. 근데 얘가 몇 자리인지 알 수가 없어서 log10 이용 후 버림 처리함. 4. 나머지 예제 입력에 따라 예제 출력과 출력이 일치하게 나오는데 왜 통과를 못하는지 모르겠음...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/twM44/btrcNNhfoMw/YupWODxECjiCi51nC4lvw0/img.png)
1. A+B - 5 두 가지 방법으로 해봤다. 2. A+B - 4 EOF를 어떻게 구현할지 생각하다가 도저히 안 되겠기에 검색했는데 bufferedreader은 null로 판단한다는 걸 알게 됨. split으로는 도저히 null 체크가 안돼서 그냥 분리했다. 3. 더하기 사이클 문제 잘못 읽어서 한참 헤맸다..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/byf6QU/btrcNNnZsCl/bSXCtbJiTDz0KWcUqfvZKK/img.png)
1. 구구단 구구단은 1단 부터다.... 2. A + B - 3 3. 합 b = 0; 후 연산하기 4. 빠른 A + B 난 처음 접할 때 scanner로 접했었는데 수업 시간에 BufferedReader을 사용해서 둘 차이점을 찾아봤을 때 후자가 빠르다는 것을 알게 됐던 게 기억나 사용해봤는데 그래도 시간 초과다. sysout이 문제인 듯 그래서 문제 설명에 쓰여있는 BufferedWriter에 대해서 찾아봤다. 사용법 대충 익히고 써보니 통과했다. stringtokenizer에 대한 설명도 있던데 공백 split이랑 비슷한 듯?? 다시 찾아봐야겠다. 5. N 찍기 BufferedWriter 쓸 때 개행 잊지 않기 예외 처리 빼먹지 말기 6. 기찍 N 7. A + B - 7 BufferedWriter 쓸..