본문 바로가기

반응형

분류 전체보기

(150)
문제풀이 - java 백준 1748 수 이어쓰기 문제 요약하자면 n을 입력한후 그 n까지 1부터 적어서 총 몇개까지 나오는지 구하는거다.  풀이 n이 1의 자리면 1씩증가시킬 것이고n이 10의 자리면 2씩증가해서주어진 범위에서 최대로 갯수가 존재할 수 있음을 알았다.1~9 -> 1*9 (1이 9개)10~99 -> 2*90 (2씩 90개)100~999 -> 3*900 (3씩 900개)1000~ 9999 -> 4*9000 (4씩 9000개) 위와 같은 조건으로 다 if 문 걸을려고 했다.저번에 푼 문제에서 시간초과가 나온 경험으로 이렇게 푸는건 바로 아닌 것같다. 하나하나 나열해봤다.nnn 규칙을 찾았고 반복문을 통해 저 규칙을 반복시키려고 했다. 우선 입력받은 n이 몇자린지 구했다.10씩 나누어주고 leongth++ 변수로 몇자린지 셌다.  while(..
문제풀이 - java 백준 6064 카잉달력 문제     카잉다력은 x,y값인 년부터 시작해서 .. 식으로 해가 흐른다.최대 해가 정해져있는데 예를들어 M, N이 면 x ,y가 까지 증가하다가 M의 최대치인 10 다음부터 1로 바뀌면서 로 진행된다.문제: m, n , x, y 를 입력한 후 달력에서 인 해가 몇번째인가?? 풀이  처음 풀었을 때:m,n,x,y를 차례로 입력받고 while(true) 문으로 무한 반복을 한다.int startx, starty 변수를 0부터 시작하여 한바퀴 돌때마다 ++ 시켜주고 이 startx, starty 가 m,n 이 도달 했을 때 각각 1로 초기화 시켜주어서 1부터 세게 만들었다.그리고 처음 목표했던 x , y에 도다르면 그때의 count 변수(while문 한바퀴 돌때마다 ++ 되는) 를 출력해 주었..
3주차 배운점 느낀점 - 생성자, 오버로딩, this(), 접근제한자, 조별과제 3주차 첫 조별과제 기본 문법들을 배우고 클래스와 각각 관계에 대해 배웠다. 처음으로 작지만 조별과제를 주셨다. 문제를 풀기전에 클래스 다이어그램을 통해 구현할 기능들에 생각하는 시간을 가졌고, 어떤 메소드를 가지면 좋을지 팀원과 토론했다. 얘기하다보니 꼭 필요한 메소드들이 갖추어졌고 미흡하지만 어느정도 구색을 갖추어서 코드구현을 시작했다. 배운점 생성자객체를 생성할 때 new 연산자를 사용하여 호출되는 부분클래스의 객체가 생성될 때 마다 자동으로 호출되고 객체를 초기화하는 데 이용되는 특수한 유형의 메서드 생성자명은 클래스명과 같고 반환 유형이 없음 생성자 규칙생성자명은 해당 클래스명과 동일해야 함생성자는 abstract, final, static을 선언할 수 없음접근제한자는 생성자의 접근을 제어하는 ..
2주차 배운점 느낀점 - 클래스, 인터페이스, 상속 (햄버거) 햄버거 키오스크 하루 한개 쓰려고했는데 정리하고 넘어가야할 것같아서 또 쓴다. 선생님이 빌더 설명해주시며 인터페이스, 추상클래스, 상속, 사용에 관한 클래스관계도를 보여주셨다. 햄버거 가게에서 버거와 음료를 주문하고 어떻게 포장(Wrapper, bottle) 되어있는지, 주문한것 (vegBuger, ChickenBurger, Coke, Pepsi) 각각 가격과 토탈 합 가격을 출력한다. 관계가 복잡해서 쉽게 이해가 되지않아 이 문제만 따로 정리하려고 한다. 배운점 인터페이스(interface)다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미  주문담고 계산하고 영수증나오고 .. 루틴들의 정의.Burger가 아이템 Implem..
2주차 배운점 느낀점 - 빌더패턴, 자바빈패턴, 점층적 생성자 패턴 클래스와 관계 객체를 생성할때 점층적 생성자 패턴, 자바 빈 패턴, 빌더 패턴을 배웠다. getter setter 메소드를 알고있었지만 정확하게 왜 사용하는지 몰랐지만 쉽게 멤버변수에 접근하지 못하도록 할 수 있음을 알게되었다. 새롭게 배운 빌더패턴을 현업에서 주로 쓴다고 하시는데 구조는 복잡해보이지만 익숙해지면 참 편할 것 같다. 배운점 빌더 패턴빌더 패턴은 간단한 객체를 사용하고 단계별 접근 방식을 사용하여 복잡한 객체를 생성한다고 하여 생성패턴에 속한다.Builder 클래스는 단계별로 최종 객체를 구축하여, 빌더는 다른 개체와 독립적이다.복잡한 객체의 생성과정과 표현방법을 분리해서 다양한 인스턴스를 만드는 생성 패턴이다.생성자에 들어갈 매개변수를 메소드로 하나한 받아들이고 마지막에 통합빌드하여 객체..
2주차 배운점 느낀점 - UML, 모델링, 객체지향, 객체, 생성자 2주차 목요일 강사 선생님이 이상하다 폭풍진도다. 안그래도 진도 따라가기 급급했던 학생들이 힘겨워한 날이었다. UML 부터 클래스, 클래스와 클래스 관계까지 개념 위주로 수업하셨다. 모델링을 할때 대학생 시절 starUML을 사용하고 과제 제출하던 내가 생각난다. 익숙한 내용들이지만 오랜만에 봐서 낯설다. 차근차근 따라가자 배운점 UMLUML(Unified Modeling Language)표준 통합 모델 언어시스템 개발을 위한 시각적인 설계 표기객체 지향 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화하는 데 사용개발하는 시스템을 이해하기 쉬운 형태로 표현하여 분석가, 설계자, 의뢰인이 효율적으로 의사소통할 수 있게 해줌-> UML은 표준화된 통합 모델링 언어 모델링: 개발하고자 하는 프로그램을 시..
2주차 배운점 느낀점 - String 메소드, api 확인법, ArrayList, StringBuilder 2주차 아직은 괜찮다. String 문자열 사용시 필요한 메소드들이다. 학교다닐때 , 알고리즘 문제를 풀 때 사용했던 기억이 있다. subString , charAt, split등 자주 사용한다는 것을 알고 있기때문에 집중해서 들었다.또 Api를 사용하는 방법을 배웠다. 개발하기위해 java api를 보는 것은 필수다. 영어로 되어있어서 보기 어렵다. 아직 적응하기 쉽지 않지만 계속 보는 연습을 해야겠다. 그러면 나중에 익숙해 질 것이다. 어려운 개념은 안들어 가고있다. 조별로 강사님께서 따로 불러 팀별 스터디 코칭을 해주셨다. 팀원끼리 어려운 문제를 풀고 코드리뷰, 공부한 것 발표등 시간을 가지고 매주 조마다 요일을 정해서 발표 연습을 봐주신다고 했다. 또 책을 읽고 책리뷰, 트러블슈팅 등을 노션, 벨..
2주차 배운점 느낀점 - 배열, String, 메모리영역 2주차도 열심히 정신없는 1주일이 지나고 2주차가 시작했다. 오늘 참조타입 변수에는 배열, 열거, 클래스, 인터페이스가 있다. 각각의 메모리에 저장되는 영역에 대해 배웠다. 과거에 학생때 공부할때 외웠던 기억이 있다. 기억을 더듬으며 수업에 임했고, 어디어디 저장되는지 개념을 확실히 하게된 계기가 되었다. JVM은 항상 바쁘게 많은 일을 하는것 같다.아직 java의 기본개념을 배우고 있다. 다시 한 번 개념을 훑을 수 있어서 나에게 많은 도움이 되고 있다. 또 '정올' 사이트에서 문제풀기 과제가 많은데, 이 또한 내 코딩실력 다지는 좋은 습관을 가지게되었다. 양이좀많긴하지만 . .현업 경험한 개발자, 전공자, 비전공자가 공존하는 여기는 혼돈이다. 전직 개발자에겐 도움을 받고 비전공자에게 내가 알려줄 수있..

반응형