1978: 소수 찾기
1978: 소수 찾기
2015.03.30문제: https://www.acmicpc.net/problem/1978이 문제의 원래 의도는 입력이 1,000 이하의 자연수이므로 1부터 1,000까지의 숫자에 대해서 에라토스테네스의 체를 이용해서 소수만 남기고 입력으로 들어오는 숫자들이소수인지 아닌지 판별하는 것이 원래 목적인 것 같지만Java의 BigInteger 클래스에서 소수를 판별하는 Method를 제공하므로 그걸 이용해서 풀어보았다.중간의 isProbablePrime Method에 대한 설명은 다음 링크를 참고하세요.소스 코드를 참고하세요. 소스 코드1234567891011121314151617181920import java.math.BigInteger;import java.util.Scanner; public class Main { pub..
5586: JOI와 IOI
5586: JOI와 IOI
2015.03.29문제: https://www.acmicpc.net/problem/5586입력의 제한이 10,000자 이내의 문자열이므로 루프를 돌면서 substring이 "JOI"나 "IOI"인지 확인하는 방식으로 해결했다.다른 좋은 방법 혹은 더 깔끔한 코드(언어 차원에서 substring의 개수를 세는 메소드라던가...)가 있을 것 같지만우선은 Accept 되었으므로...소스 코드를 참고하세요. 소스 코드123456789101112131415161718192021222324import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String in..
5522: 카드 게임
5522: 카드 게임
2015.03.27문제: https://www.acmicpc.net/problem/5522너무 쉽다. 5개의 정수 입력을 다 더한 다음 출력하면 된다.이런 문제도 있다니 ㅡ_ㅡ소스 코드를 참고하세요. 소스 코드12345678910111213141516import java.util.Scanner; public class Main { public static void main(String[] args) { final int NUM_OF_GAMES = 5; Scanner scanner = new Scanner(System.in); int totalScore = 0; for (int i = 0; i
4134: 다음 소수
4134: 다음 소수
2015.03.27문제: https://www.acmicpc.net/problem/4134이 문제는 Java의 BigInteger 클래스에서 제공하는 메소드로 쉽게 해결 가능하다.C++로 작성하면 직접 소수를 구하는 로직을 작성해야 하지만 Java의 BigInteger에서는 해당 로직을 메소드로 제공합니다.다만 문제를 제대로 안 읽으면 틀리는데 입력값보다 크거나 '같은' 소수를 찾는 것이므로입력 값이 바로 소수라면 해당 값을 출력해야 합니다.특히 현재 값이 소수인지 아닌지 판단하는 메소드인 isProbablePrime의 파라미터값이 있는데해당 내용은 다음 링크를 참고하세요.소스 코드를 참고하세요. 소스 코드12345678910111213141516171819202122import java.math.BigInteger;im..
3447: 버그왕
3447: 버그왕
2015.03.27문제: https://www.acmicpc.net/problem/3447Java를 이용해서 새로운 문장이 들어오지 않을 때까지 문장 단위로 입력받고String의 replace method로 BUG를 재귀적으로 제거하면 원하는 정답이 나옵니다- 출력하는 소스 코드에는 BUG가 있으면 안된다. 즉, ABUBUGGB와 같은 경우는 AB가 되어야 한다는 것이 핵심소스 코드를 참고하세요. 소스 코드123456789101112131415161718192021222324import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scan..
9076: 점수 집계
9076: 점수 집계
2015.03.26문제: https://www.acmicpc.net/problem/9076정렬과 Array를 이용한 구현 문제입니다.심판들의 Score를 Array에 저장한 후에 오름차순으로 정렬 후제일 작은 값과 제일 큰 값을 Array에서 제거합니다(0번 index와 Array.length - 1번 index)그 후에 최솟값과 최댓값의 차가 4보다 크면 KIN을 출력하고그렇지 않으면 남은 심판들의 점수 합을 출력합니다.소스 코드를 참고하세요. 소스 코드1234567891011121314151617181920212223242526272829303132333435363738import java.util.ArrayList;import java.util.Collections;import java.util.List;import..
C++/Java String Reverse (문자열 뒤집기)
C++/Java String Reverse (문자열 뒤집기)
2015.03.25C++을 주로 사용하다 보니 Java는 모르거나 기억이 안 나는 내용은 주로 검색을 해서 해결한다.우선 C++에서는 문자열을 뒤집을 때 다음과 같이 한다.12345678910111213#include #include #include int main() { std::string original_string("Dolpang2 Lee"); std::string reversed_string = original_string; // String reverse std::reverse(reversed_string.begin(), reversed_string.end()); std::cout
자료구조 How to Naming?
자료구조 How to Naming?
2015.03.23자료구조 How to Naming?123456789101112131415161718192021222324252627282930313233343536#include #include #include #include int main() { std::string word; std::vector words; // 복수명사화 std::vector wordVector; // 컨테이너 종류 명시 std::vector wordContainer; // 컨테이너로 추상화 for (;;) { printf("Enter the word: "); std::cin >> word; if (word == "quit") { break; } words.push_back(word); wordVector.push_back(word); word..
프로그래머 추천도서 64선 / 구입 링크 및 개정판 정리
프로그래머 추천도서 64선 / 구입 링크 및 개정판 정리
2015.03.11The Pragmatic Programmer: From Journeyman to Master The Pragmatic Programmer: From Journeyman to Master / Andrew Hunt, David Thomas 실용주의 프로그래머 / 옮긴이: 김창준, 정지호 Code Complete: A Practical Handbook of Software Construction, Second Edition Code Complete: A Practical Handbook of Software Construction, Second Edition / Steve McConnell CODE COMPLETE 2nd Edition - 절판 / 옮긴이: 서우석 Refactoring: Improving th..
Top 100 소프트웨어 공학 추천 도서
Top 100 소프트웨어 공학 추천 도서
2015.03.091. Code Complete: A Practical Handbook of Software Construction, Second Edition / Steve McConnell원서 구입 링크 / 번역서 구입 링크2. Head First Design Patterns / Eric Freeman, etc원서 구입 링크 / 번역서 구입 링크3. Rapid Development / Steve McConnell원서 구입 링크 / 번역서 구입 링크(절판)4. Design Patterns: Elements of Reusable Object-Oriented Software / Erich Gamma원서 구입 링크 / 번역서 구입 링크5. Applied Cryptography: Protocols, Algorithms, and..
Dev-C++ 관련 잡담
Dev-C++ 관련 잡담
2015.02.20얼마 전 페이스북 생활코딩 그룹에서 알게 되었는데개발이 중단된 줄 알았던 Dev-C++ 의 개발이 오픈소스 형태로 다시 개발되고 있다는 말을 들었다.현재는 Orwell에서 개발하는 것 같고 가장 최신 배포는 2015년 2월 1일 자의 5.9.2버전이다.내 기억의 마지막 배포는 4.9.2로 기억하는데... 모르는 사이에 많은 버전업이 있었다.4.8.1의 GCC를 컴파일러로 사용하므로 C++11이나 일부 C++14 기능도 사용 가능할 것으로 보인다윈도우즈 환경에서 Visual Studio를 제외한 C++ IDE로는 참 괜찮다고 생각하는 Dev-C++이기 때문에 블로그에 남겨놓는다.개발 홈페이지 주소는 다음과 같다.http://orwelldevcpp.blogspot.kr/
IntelliJ/PhpStorm SQL dialect is not configured 해결
IntelliJ/PhpStorm SQL dialect is not configured 해결
2014.12.13IntelliJ/PhpStorm SQL dialect is not configured 경고JetBrains 제품군 (IntelliJ, PhpStorm 등)에서 위와 같은 SQL dialect is not configured 경고가 발생하는 경우 IDE 설정을 통해서 해결이 가능하다.Setting - Project Setting - SQL dialects 항목에서 화면에서의 붉은 사각형 부분인 SQL Dialect 항목에 사용하는 DBMS (MySQL, Oracle, ...)을 선택하면 된다. 설정은 디렉터리 단위로도 가능하고 파일 단위로도 가능함. 현재 프로젝트에서는 MySQL을 사용하므로 그림과 같이 MySQL로 설정 후 경고 문제 해결