본문 바로가기

코딩테스트10

[JAVA] 백준 코딩테스트 1.입출력과 사칙연산 10171: 고양이, 10172: 개 고양이와 강아지를 출력해 보도록 하겠습니다. 아주 귀여운 고양이와 강아지군요. 텍스트 그대로 복붙하면 좋겠지만 약간의 수정이 필요해요. 10171: 고양이 고양이 텍스트는 다음과 같습니다. \ /\ ) ( ') ( / ) \(__)| System.out.println(); 여기에 그대로 작성하되, '\'는 앞에 역슬래시(\)를 붙여주어야 합니다. 최종 public class Main { public static void main(String[] args) { System.out.println("\\ /\\"); System.out.println(" ) ( ')"); System.out.println("( / )"); System.out.println(" \\(__)|"); } } 빨간 표시가 생겼다면, .. 2023. 9. 1.
[JAVA] 백준 코딩테스트 1.입출력과 사칙연산 18108: 1998년생인 내가 태국에서는 2541년생?! 서기가 있기 전, 불기가 있습니다. 예수의 탄생 시점으로부터 지금까지가 2023년이고, 이를 서기라고 합니다. 석가모니 탄생시점으로부터 지금까지가 2567년입니다. 이를 불기라고 합니다. 불기 원년(1년)은 기원전 544년이므로 서기를 불기로 변환할 때는 544를 더하면 됩니다. 쉽게 말해 서기 2000년은 불기 2544년입니다.(불멸기원)(서력기원) 나무위키에서는 544년 차이가 난다고 하지만, 위키백과와 다른 문서들 조회 결과 불기와 서기의 차이가 조금씩 다릅니다. 백준에서는 543년 차이를 인식하고 있습니다. 문제 그대로를 받아 들이기 위해 543년으로 계산하도록 하겠습니다. 서기 0년은 불기 543년이므로 서기 + 543 = 불기 입니다. 즉, 서기 2023년은 불기 2567년 인거죠. 18108.. 2023. 9. 1.
[JAVA] 백준 코딩테스트 1.입출력과 사칙연산 2588: 곱셈 곱셈을 풀어보도록 하겠습니다. 지금까지 풀어왔던 곱셈과는 조금 다른 모양일 수 있습니다. 정수형 A와 B가 모두 세 자릿수이며, B의 일의 자리, 십의자리, 백의자리 각각 곱한 값과 모두 곱한 값을 구하는 문제입니다. 문자열이 아닌 정수형이니 charAt()같은 매서드 없이 사칙연산으로 하나씩 쪼개며 곱하면 됩니다. 개념 설명 세 자리 정수를 하나씩 쪼개보도록 하겠습니다. 예를 들어 n의 값이 123이라고 가정합니다. 1 / 2 / 3 이렇게 각각 숫자를 하나씩 쪼개려면 나눗셈이 가장 적합해 보입니다. 123을 10으로 나누었을 때 나머지는 3입니다. System.out.println(B%10); = 3(일의 자리) 123을 100으로 나누었을 때 몫은 1, 나머지는 23입니다. System.out.pr.. 2023. 8. 31.
[JAVA] 백준 코딩테스트 1.입출력과 사칙연산 10998: AxB, 1008:A/B, 10869: 사칙연산 덧셈과 뺄셈은 문제없이 입출력이 가능합니다. 조금 더 이해가 필요하시면 아래 링크를 참고하시기 바랍니다. ▼덧셈, 뺄셈 https://eo-y.tistory.com/64 이번에는 곱셈과 나눗셈을 알아보겠습니다. 10998: AxB 덧셈, 뺄셈과 다르지 않습니다. 다만 컴퓨터 언어이기 때문에 곱셈은 '*'로 표기됩니다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); int b = scanner.nextInt(); scanner.close(); System.out.println(.. 2023. 8. 30.
[JAVA] 백준 코딩테스트 1.입출력과 사칙연산 10926: ??! 자바의 입출력 방법에는 두 가지가 있습니다. Scanner와 BufferedReader입니다. 자세한 설명이 필요하시면 해당 링크를 통해 확인하시기 바랍니다. ▼Scanner와 BufferedReader 개념 이해하기 https://eo-y.tistory.com/61 [JAVA] Scanner vs BufferedReader : 입출력 처리 방법 비교하기 사용자가 어떤 값을 입력했을 때, 그에 맞는 출력을 하려면 어떻게 해야 할까요? 자바에서는 Scanner와 BufferedReader 두 가지 방법이 있습니다. 공부하시면서 Scanner 클래스를 흔히 사용하셨을 겁니다 eo-y.tistory.com 해당 개념을 이해하셨다면 백준 10926번 문제를 풀 수 있습니다. ▼ 백준 10926번 문제 풀기 ht.. 2023. 8. 29.
[JAVA] 백준 코딩테스트 런타임 에러 (main class Main) 코딩테스트 공부중 이클립스, 스프링 툴 등에서 문제없이 결과가 나왔는데, 오류가 나와 당황스러우셨나요? 런타임 에러 (main class Main) 런타임 에러 언어: C99, C11, C90, C2x, C++98, C++11, C++14, C++17, C++20 런타임 에러 이유설명AssertionFailedassert함수가 실패SegfaultSegmentation faultBusErrorBus errorInvalidPointermunmap_chunk(): invalid pointerOutOfBounds컨테이너 또는 배열 help.acmicpc.net 해당 링크 속 같은 오류를 찾아보니 이런 문제가 있었습니다. Error: Could not find or load main class Main 오류: 기.. 2023. 8. 19.
[23년 8월 2주차] 아직은 괜찮다. 코드기록 깃허브에 매일 커밋한지도 2주가 되었다. 아직까진 큰 문제 없이 진행되고 있다. 현재까지는 난이도에 어려움을 겪지 않아서 일 것 같다는 생각이 든다. 프로그래머스 코딩테스트로 기록을 하다가 잠시 접어두고 백준으로 넘어왔다. 난이도 순서대로 코드를 풀다가, 복습할 때는 코드를 좀 더 줄여보거나 어려운 코드를 기억만으로 푸는 방식으로 하고 있다. 조금 더 잔디밭을 깔고나면 사고가 다양해지길 바란다. 2023. 8. 12.
[JAVA] 프로그래머스 LV.0 더크게 합치기 풀이 - 형변환 이렇게 하세요 프로그래머스 코딩 기초트레이닝(LV.0)을 순서대로 풀고 있습니다. 쉽다고 넘어가면 안 될게, 중간중간 생각지도 못했다거나 다른 사람들의 더 쉽고 간단한 풀이를 보며 놀랄 때가 많습니다. 아직 턱없이 부족하고, 배울 게 많다는 뜻입니다. 오늘은 더 크게 합치기 라는 문제를 풀어보았습니다. https://school.programmers.co.kr/learn/courses/30/lessons/181939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요약하자면, 두 양의 정수 a와 b가 주어졌을 때, a⊕b와 b⊕a 중 더 큰 값을 출력해야 합니다. 이때,.. 2023. 8. 10.
[JAVA] 홀/짝 구분하고, 홀/짝의 합 구하기 (+ 프로그래머스 LV.0 홀짝에 따라 다른 값 반환하기) 자바를 공부할 때 생각하곤 합니다. "컴퓨터야 한국말도 알아들어주라!" 현실은 인간과 컴퓨터가 소통할 수 있는 언어를 공부합니다. 이진법으로 대화하는 게 아니니 다행일까요. 그렇게 오늘도 다양한 경우의 수와 방안을 고민해 봅니다. 오늘의 주제입니다. 입력된 정수값이 n일 때 이 n이 홀수인지 짝수인지 구별하려면 어떻게 할까요? 정수 n의 홀/짝 여부 판단하기 방법은 간단합니다. n을 2로 나누었을 때 나머지가 1이면 홀수, 0이면 짝수입니다. 어릴 적 씽크빅하던 시절, 맨 앞장에는 흥미로운 주제로 숫자에 대한 내용을 다루고 있었습니다. 그중 기억에 남는 주제가 '0은 홀수일까? 짝수일까?' 였어요. 장황하게 쓰여있는 증명을 전부 이해하진 못했지만, 굳이 따지자면 이진법을 기반으로 0은 짝수로 봐야 된다는.. 2023. 8. 7.
[JAVA] 반복문(for)없이 반복메서드(repeat)로 반복하기 프로그래머스 > 코딩테스트 연습 > 코딩 기초 트레이닝 > 문자열 반복해서 출력하기 자바 알고리즘에 대해 공부하던 중 다음과 같은 문제를 보았습니다. https://school.programmers.co.kr/learn/courses/30/lessons/181950 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요약하자면, 단어와 숫자를 입력했을 때 해당 단어가 해당 숫자만큼 출력되어야 합니다. 단어가 숫자만큼 '반복'되어야 한다. .. 반복.. 당연히 반복문을 써서 다음과 같은 결과를 작성했습니다. 반복문 for문을 사용하여 문자열 반복하기 if ( s.. 2023. 8. 5.