728x90

🐣 알고리즘 삐약 158

16 삐약 : 백준 9020 [JAVA]

소수를 활용하는 문제이다아아아 이제 소수보면 에라토스테네스를 어떻게 적용해야 할지 머리를 열심히 굴리고 있다. 생각보다 디자인 하는 데 시간이 오래 걸리지 않았고 냅다 구현을 시작했다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.ObjectInputStream.GetField; import java.io.OutputStreamWriter; import java.util.Scanner; public class Main { static boolean[] arr ; public static void get_..

15 삐약 : 백준 4948 [JAVA]

저번에 문제를 풀었던 기억에 있어서 버퍼를 쓰려고 해서 처음에는 버퍼로 접근 했다. 여러번 틀리고 런타임 에러가 나서 수정하다가 버퍼로 출력 할 때 정수형은 String으로 형변환 해서 출력해야 한 다는 것을 알게 되었고 마지막 bufferWriter 에서 write메소드 작성 할 때 String.valueOf(Integer) 이거 써서 출력문 완성하고 아 됐다. 이제 돌리면 accepted 되겠다!! 하고 돌렸는데!!!!!! 나름 코드 구현 잘 했다고 생각하고!!!! 실행했을 때 잘 돌아가서 아무런 의심 없이 제출을 해서 냅다 돌렸는데!!!!!!!! 진짜...뭐지? 왜때문이지? ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아직도 먼지인 나는 왜 그런지 이해를 못하기에 혹여 똑똑똑하고 친절하신 분이 계시다면 왜때문에 런타임에러인지..

14 삐약 : 백준 1929 [JAVA]

아까 방금 했던 에라토스테네스의 채를 활용한 문제를 풀어보려고 한다. 마치 처음 접하는 문제인 마냥 얘기를 해 보려고 하지만 이전에 C++으로 풀기 위해 접근 했던 문제이다. 오늘 자바로 꼭 풀어보도록 하쟈 히히 아주 EEEEEEEEEEEEEEEEEEEEEASY하게 문제를 해결해.땨 역시 나는 자바가 죠타.😊 언제 또 자바가 싫어질 지 모르니 오늘 열심히 좋아해 주도록 하게.땨 히히히 채점도 냅다 맞아버렸다!! 근데 나는 매번 백준 풀 때마다 궁금한게 다른 사람들도 나처럼 코드 길이가 길고 시간이 오래 걸렸을까? ㅇㅅㅇ 나는 856ms가 걸렸는데 300ms대의 분이 계셔서 슬쩍 구경갔다 왔다. 근데 BufferedWriter를 쓰셨.땨!!! 아무래도 Buffer가 빠르다는 얘기는 익히 들었었기에 나도 출..

[JAVA] 에라토스테네스의 체

아니 수업에서는 C++을 사용하긴 하는데 한국에서는 아직 JAVA를 많이 쓰고 있기에 자바랑 C++이랑 한 번씩 알고리즘을 풀어야 할 것 같아.... 엉엉 ㅠ 아니야 오히려 좋아 자바 라이브러리 함수도 다시 익혀갈 겸 어짜피 다 잊은거... 내가 노력해야지...그치 맞지...? 이전 포스팅에서 사용했던.에라토스테네스의 체를 JAVA로 구현 해 보도록 하게.땨. 사실 1학년 때부터 자바를 접해와서 그랬던건지 이전 포스트에서 써 봐서 그랬던건지 여튼 자바로 구현하는 게 훨씬 더 편했다. 기분탓이라면 뭥... 유감 *^-^* 나름 열심히 구현 하고 실행을 시켰는데 결과가 환상적이다. 아무리 봐도 테네스씨의 체는 구현을 잘 한 것 같은데 왜 그럴까 하고 냅다 디버깅을 해보니. 출력에서 문제가 있더라 망할 형변환..

13 삐약 : 백준 1929 [C++]

이놈의 소수는 언제 끝날런지싶지만 열심히 토도도독 굴려본다 나름 훗 나 잘해 후후훗 하고서 토도도독 쳐 봤는데 어찌된 영문인지 한 큐에 바로 그냥 냅다 실행이 되드라. 그래서 제출을 해 봤는데 어머나 세상에 시간 초과 됐다. 그래서 냅다 구글에 요거 시간초과 쳐 보니까 이게 에라토스테네스의 채 라는 개념에 관련된 문제라고 하더라! 옛날에 동아리 교육할 때 얼핏 들었던 것 같은데 역시나 기억도 못하고 활용도 못하는 나의 명석한 두뇌란. 에라토스테네스의 체는 임의의 수 n 까지의 소수를 구하고자 할 때 2부터 n의 제곱근까지 돌며 모든 배수들을 소수에서 제외시키는 방식이다. 배열로 소수를 구하는 방법이다.

UVa / 00514 Rails [JAVA]

A에서 station으로 들어온 열차는 거꾸로 나가야 한다 == LIFO 구조의 Stack을 이용하여 해결한다! 입력은 line의 block 형태로 받아오는데 첫 줄에는 coach의 개수, 이후에는 coach의 배열을 입력한다. 입력을 완료했을 경우에는 마지막 줄에 0을 입력하여 한 블럭을 종료함을 표시한다. 실행을 완전히 종료하기 위해서는 0을 한 번 더 입력하여 종료한다. package chap2; import java.util.*; import java.io.*; public class Rails_UVa514 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new Inp..

12 삐약 : 백준 11653 [C++]

안녕 삐약 오늘 대면수업을 하고 왔는데 3월 한 달은 비대면으로 진행하신다고 한다. 근데 왜 OT는 대면으로 하신거지 힝구. 여튼 짧은 오티로 다음 수업까지 우주공강이 생겨버린 개 강한 대학생은 다시 삐약거려 보도록 하겠다. 오늘 풀 문제는 소인수분해 문제이다. 근데 더 큰 문제는 내가 소인수분해를 잊어먹었다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 대충 이케이케 해보고 혼자서 꼼지락 대면서 디자인을 해 보았다. if문으로 1이상의 수임을 걸러내고, 10번의 for문을 통해 소인수 분해를 진행한다. 17번의 for문을 사용하여 소수를 판단하고, 17번의 조건문을 사용하여 분해한다. 잘 돌아가긴 하는데 반복문이 너무 많이 쓰여서 시간이 잘 맞을지 걱정이 한가득이였지만, 음. 그럴 줄 알았지. 뭐때문일까 생각을 해봤는데 아무리 ..

11 삐약 : 백준 2581 [C++]

개 강한 대학생은 개강했습니다. 사실 파이썬으로 알고리즘 공부도 할겸, 복학하면서 듣는 알고리즘응용이라는 과목에 수월하게 접근하고자 파이썬으로 알고리즘을 열심히 공부하고 잇었는데... C++로 진행하시겠다고 한다. 크크루 삥뽕을 속으로 외치면서 기억 저 편으로 넘어가 C++ 을 다시 리마인드 시켜보게따.... 사실 내 성격상 냅다 들이 받아서 고통스러워 하면서 알아가는걸 좋아하기에... 그냥 냅다 검색하면서 풀어봣다. 이렇게 코딩을 하고 테스트 케이스 몇 개 집어넣고 돌렸을 때 잘 돌아갔다. 아 역시 나는 미쳤어. 나는 겁나 미친 천재야 하고서 제출을 했는데 아이코 틀려버려따아아아아 ^^ 나는 진짜 너무 의문이란 말이다. 난 틀린 게 없다. 내 코드는 완벽하다. 그러나 뭐 이유가 있지 않을까 그치만 아직..

10 삐약 : 백준 1978 [Python]

내일 수업이 오후 1시이인지라.. 이 상태로 내가 침대에 누우면 100의 확신으로 덕질을 하거나 유튜브를 볼 것을 알기에 한 문제라도 더 풀고자 바로 다음 문제를 클릭했다. 사실 소수 문제는 전에도 몇번 푼 적이 있어서 가벼운 마음으로 접하려 했지만 실버단계인 것을 보고 약간 조금 쫄았냐고 물어보면 사실이다 ㅇㅅㅇ.... 그래도 쫄지 않고 슬슬슬 디자인을 해 보자면 소수에 1은 포함되지 않기에 애초에 1 이상으로 잡아두고, 소수가 아닐경우 err 변수를 사용하여 판단을 한다. 다들 알고있는 소수 판정법을 사용하여 슬 구현하니까 냅다 맞아버렸다. 생각보다 요즘 냅다 맞아버리는 경우가 많아서 아주 기분이 좋다. 입력 받아오는게 가끔 고민될 때가 많은데 별 고미 없이 map과 배열을 사용하여 접근하면 수월할 ..

9 삐약 : 백준 10757 [Python]

생각해보니 언제까지 백준 문제 해결하는 것을 삐약이라고 할 수 있을까 싶은 생각이 들었다. 그래서 기준을 정해보게따. 일단 내 티어가 실버 3이 되고(현 브론즈 1) 실버 3이 되면 실버등급에 해당하는 문제들을 풀겠지? 그때에는 삐약이 아닌 꼬꼬로 찾아오겠다. 히 사실 이 문제를 출제한 이유가 무엇일까 생각했는데 지나치게 큰 수에 대한 연산을 진행할 때 범위를 벗어나는 수를 처리하는 방법에 대하여 고민을 해 보라는 의도 같다. 파이썬은 냅다 출력해도 범위를 벗어나지 않기 때문에 냅다 맞아버렸다. 이렇게 기본 수학 1을 모두 클리어했다! 그치만 C언어 혹은 C++일 경우의 오늘의 문제를 어떻게 풀이하는지 궁금하기 때문에 다른 사용자들의 풀이를 확인 해 보았다. 대부분의 사람들이 문자열로 입력을 받아 이를 ..

728x90