Algorithm_PS 37

자료구조 <배열의 속성>

자료구조의 간략한 개념들을 JAVA로 학습을 해보자. 군휴학의 무료함을 달래주길. 자료구조의 모든 part는 객체이며 자바는 객체지향. 모든 흐름은 객체로.. 신입생때 뇌에 각인시키도록 학습했었다. 자료구조의 가장 basic하면서 중요한 type. 배열이다. 생성은 아래코드로 하는데 python과 다르게 JAVA는 상당히 피곤하게 아래처럼 배열의 데이터 타입과 크기를 꼭 지정해줘야한다. 위의 배열의 경우 10,20,30의 값만 선언해주었다. 하지만 네번째 인덱스에는 값을 넣어주지 않았다. 이럴때 numbers[3]을 해준다면.. 오류가 날까? 그렇지 않다. 크기엔 지정이됐지만 값이 없는 배열의의 값은 0으로 설정되어있다 자동으로 그래서 따로 주입하지 않아도 10 20 30 0 이 순서대로 저장되어있다 *..

백준_2745 <진법 변환>

2745번: 진법 변환 (acmicpc.net) 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제가 특이하다. n진법을 다루는 문제인데 처음에 약간 이해하기 빡셀수 있으나 몇번 예시를 들어보면 쉽다. input의 예시는 ZZZZZ 36. 10진법을 넘어가는 숫자는 대문자 알파벳으로 표시한다라고 했다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 35 35 35 35 35을 36진법으로 표현하는 프로그램을 짜는것. 복잡해보이지만 어려울것 없다. z 각각 한개는 자릿수를 구성하..

Algorithm_PS 2023.10.26

백준_2563 <색종이>

2563번: 색종이 (acmicpc.net) 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 좌표평면을 다루는다는 생각으로 접근했다. X좌표의 MAX = 100, Y좌표의 MAX= 100. 100X100 짜리 좌표평면에 10X10짜리 정사각형 N개를 올리고, 이 N개들의 넓이의 영역을 구하는 문제이다. 10X10짜리 정사각형이 3개있고 이들이 자신들의 영역이 아닌 각자의 영역을 서로 침범할 경우 넓이의 영역이 300보다 작아지겠다. 이를 고려해야하는 문제임. 내 첫번째 접근은 패턴을 찾는 것이었다. input이 예를들어..

Algorithm_PS 2023.10.20

백준_10798(세로읽기)

10798번: 세로읽기 (acmicpc.net) 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 5개의 단어를 입력받아 이를 세로로 읽은 값을 띄어쓰기 없이 출력하는 프로그램이다. 각각의 다른 단어들의 글자 순서대로 출력을 하는 것이니까 2중배열을 쓴다면 간단히 해결될 것 같았다. 여기서의 중요한 점은 단어들의 글자수가 다를 수 있다는 것. 예를들어 apple banana 1234 ABee3 답 = ab1Apa2Bpn3ela4een43n3a 마지막 n3이나 a같은 경우 다른 단어들의 알파벳이 없기에 이렇..

Algorithm_PS 2023.10.19

백준_2941(크로아티아 알파벳)

2941번: 크로아티아 알파벳 (acmicpc.net) 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 문제는 상당히 직관적이다. 주어진 문자열에서 크로아티아 알파벳이라는 특이한 문자가 있는지 검사하면 끝. indexing을 잘 다루는 능력이 요구된다고 생각한다. c=, c- dz= 와 같은 한 character가 2개이상일 경우를 검사할때 그 이전 인덱스 그 이전의 이전 인덱스 여유공간을 두는 조건문을 적어야만 indexoutofrange오류가 뜨지 않겠다. 그것을 잘 ..

Algorithm_PS 2023.10.18

백준_25206 (너의 평점은)

25206번: 너의 평점은 (acmicpc.net) 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 문제가 상당히 지저분하다 해야할까.. input 값부터 어지럽다. 문제를 살펴보면. 첫번째로 궁극적으로 구하는것은 전공평점 = (학점 x 과목평점) / 학점의 총합이다. 그 다음으로 input값을 살펴보면 ObjectOrientedProgramming 3.0 A+ ... 이런식으로 쭉 input 받았다. input 값이 띄어쓰기 기준으로 과목명 학점 평점 순인 것을 알수있겠다. 구하는 것에는 학점 x 과목평점이 필요하..

Algorithm_PS 2023.10.16

백준_10811 (바구니 뒤집기)

10811번: 바구니 뒤집기 (acmicpc.net) 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 문제는 간단하다. 바구니의 숫자는 기본적으로 1,2,3,4 순서대로 설정되어있다는 것. - 첫번째 포인트 두 숫자를 입력받으면 그 숫자의 범위대로 바구니의 순서를 reverse한다. - 두번째 포인트 이 두가지를 집중해서 코드를 짜면 되겠다고 생각했다. 첫번째 포인트는 for문으로 그냥 1번 인덱스에는 1, 2번엔 2 .. 이런식으로 설정하면 끝 두번째 포인트가 관건이다. array에서 순서를 바꾸는것은..

Algorithm_PS 2023.10.16