전체 글233 가장 짧은 문자거리 설명 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다. 예시 입력 1 teachermode e teachermode e 예시 출력 1 1 0 1 2 1 0 1 2 2 1 0 1 0 1 2 1 0 1 2 2 1 0 Prac9 public class S9 { public int[] solution(String s, char t) { int[] answer = new int[s.length()]; int p = 10.. 2023. 2. 17. 숫자만 추출 설명 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다. 만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. 입력 첫 줄에 숫자가 섞인 문자열이 주어집니다. 문자열의 길이는 100을 넘지 않습니다. 출력 첫 줄에 자연수를 출력합니다. 예시 입력 1 g0en2T0s8eSoft 예시 출력 1 208 Prac8 public class S8 { public int solution(String str) { // 1. 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출 // 2. 그 순서대로 자연수를 만든다. // 3. 추출.. 2023. 2. 17. JHipster 환경 구성 🖐️JHipster를 이용하기 위해서 필요한 Tool Kit Java Node.js Git Docker 👉 Java 11 설치 두개의 블로그를 참고해서 진행 https://llighter.github.io/install-java-on-mac/ https://schooldevops.github.io/tools/2021/05/25/sdkman/ 설치 후 자바 버전 확인 java --version 👉 Node.js 설치 반드시 LTS 64-bit version 설치 Node.js (14.17.3 LTS 64-bit) 설치 설치후 node 버전, npm 버전 확인 node --version npm --version 👉 Git 설치 brew intall git 버전확인 git --version 👉 Docker 설.. 2023. 2. 16. 스크럼(애자일 개발 프로세스) 스크럼(Scrum)이란? 프로젝트 관리를 위한 상호, 점진적 개발방법론 이며, 애자일 소프트웨어 개발 중의 하나이다. 스크럼(Scrum)은 소프트웨어 개발 프로젝트를 위하여 고안됨. 애자일 스크럼은 특정 개발 언어나 방법론에 의존적이지 않는다. 제품 개발 뿐만 아니라 일반적인 프로젝트 관리에도 사용 가능한 프로세스 프레임워크이다. 스크럼은 작은 주기로 개발 및 검토를 하며 효율적인 협업 방법을 제공한다. 스크럼 역사 일본의 노다카 이쿠지로와 타케우지 히로타카가 1986년 1~2월 Harvard Business Review에 올린 "The New New Product Developement Game" 에서 시작된다. -> 그 후 1991년 디그라스(DeGrace)와 슈탈(Stahl)이, "Wicked Pr.. 2023. 2. 16. 회문 문자열 회문 문자열 설명 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 대소문자를 구분하지 않습니다. 입력 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다. 출력 첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다. 예시 입력 1 gooG 예시 출력 1 YES Prac8 public class Prac8 { public String solution(String str) { String answer = "YES"; if(str.length() % 2 != 0){ return "NO"; } //대문자로 변.. 2023. 2. 16. 중복 문자 제거 중복 문자 제거 설명 소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하세요. 중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다. 입력 첫 줄에 문자열이 입력됩니다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 줄에 중복문자가 제거된 문자열을 출력합니다. 예시 입력 1 gadffffa 예시 출력 1 gadf Prac7 public class Prac7 { public String solution(String str) { String answer = ""; for (int i = 0; i < str.length(); ++i) { if (str.indexOf(str.charAt(i)) == i) { answer += str.charAt(i); } } r.. 2023. 2. 16. 특정 문자 뒤집기 특정 문자 뒤집기 설명 영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고, 특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성하세요. 입력 첫 줄에 길이가 100을 넘지 않는 문자열이 주어집니다. 출력 첫 줄에 알파벳만 뒤집힌 문자열을 출력합니다. 예시 입력 1 a#vbad#da 예시 출력 1 a#ddab#va Prac6 클래스 public class Prac6 { public String solution(String str) { String answer = ""; char[] x = str.toCharArray(); int lt = 0, rt = x.length-1; while (lt < rt) { if (!Character.isAlphabetic(x[lt.. 2023. 2. 16. JHipster 기본 개념 JHipster란? JHipster = Java Hipster ● 스프링 부트 기반으로 프로젝트의 골격을 만들어주는 자바 기반의 개발 플랫폼이다. ● server side와 frontend를 한꺼번에 생성할 수 있음 ● 마이크로서비스 어플리케이션을 쉽고 빠르게 만들어 줄 수 있는 기능을 제공 한다. ● yeoman, webpack, maven으로 애플리케이션을 생성함 Webpack ● 웹팩 - 규모가 큰 웹 애플리케이션은 복잡한 자바스크립트와 대규모 의존성 트리르 가지고 있는데 이 복잡한 애플리케이션을 하나의 Javascript 파일로 관리할 수 없다. => 프로젝트의 구조를 분석하고 자바스크립트 모듈을 비롯한 관련 리소스들을 찾은 다음 이를 브라우저에서 이용할 수 있는 번들로 묶고 패킹하는 모듈 번들러.. 2023. 2. 10. Framework vs Library 프레임워크(Framework)란? - 프레임워크는 뻐대나 기반구조를 뜻하고, 제어의 역전 개념이 적용된 대표적인 기술이다. - 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합 - 완성된 어플리케이션이 아닌 프로그래머가 완성시키는 작업 - 가져다가 사용한다기 보다는 거기에 들어가서 사용한다는 느낌/관점으로 접근 - 객체 지향 개발을 하게 되면서 통합성, 일관성의 부족이 발생되는 문제를 해결할 방법중 하나 프레임워크의 특징 - 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성되어 있다. - 추상적인 개념들이 문제를 해결하기 위해 같이 작업하는 방법을 정의한다. - 컴포넌트들은 재사용이 가능하다. - 높은 수준에서 패턴들을 조작화 할 수 있다. 라이브러리(Libr.. 2023. 2. 10. MSA 마이크로서비스 아키텍처(Microservice architecture) 정리 MSA 마이크로서비스 아키텍처(micro service architecture) 정리 - 아키텍처란? -> 건축학 -> 최적화 문제 영역에 대한 솔루션을 제공하는것 - 시스템 아키텍처 최적화를 목표로 두고 시스템 구성과 동작원리, 시스템의 구성환경등을 설명 및 설계하는 청사진 또는 설계도 - 프로그램 최적화 컴퓨터 과학에서 시스템을 수정하여 어떠한 면의 작업이 더 효과적으로, 또는 자원을 덜 사용하도록 만드는 작업을 말한다. 마이크로서비스 외부 아키텍처 - 클라우드 인프라 패턴 -> 마이크로서비스를 지탱하는 하부구조 인프라를 정의하는 패턴 - 플랫폼 패턴 -> 인프라 위에서 마이크로서비스를 운영 관리를 지원하는 플랫폼 차원의 패턴들 마이크로서비스 내부 아키텍처 - 마이크로서비스 관계 패턴 -> 마이크로서.. 2023. 2. 8. MSA ( Microservice Architecture) 기본개념 MSA(Microservice Architecture)란? 마이크로서비스는 애플리케이션을 느슨히 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처(SOA)스타일의 일종인 소프트웨어 개발 기법이다. 마이크로서비스 아키텍처에서 서비스들은 섬세(fine-grained)하고 프로토콜은 가벼운 편이다. 애플리케이션을 더 조그마한 여러 서비스로 분해할 때의 장점은 모듈성을 개선시키고 애플리케이션의 이해, 개발, 테스트를 더 쉽게 해주고 애플리케이션 침식에 더 탄력적으로 만들어 준다. 규모가 작은 자율적인 팀들이 팀별 서비스를 독립적으로 개발, 전개, 규모 확장을 할 수 있게 함으로써 병렬로 개발할 수 있게 한다. 또, 지속적인 리팩토링을 통해 개개의 서비스 아키텍처가 하나로 병합 될 수 있게 허용한다. MS.. 2023. 2. 8. 아키텍처 영어단어 Monolithic = 하나로된 거대한 덩어리 2023. 2. 8. unix 기본 연산자 -n string String is not null -z string String is null, that is, has zero length -b file Checks if file is a block special file; if yes, then the condition becomes true. [ -b $file ] is false. -c file Checks if file is a character special file; if yes, then the condition becomes true. [ -c $file ] is false. -d file Checks if file is a directory; if yes, then the condition becomes true. [ -d $file.. 2023. 2. 7. 형(타입, type) c++에서(type) - c++은 엄격한 타입시스템 언어이다. - type을 설정해줘야한다. 또한 매개변수의 수나 타입 등에 따라 함수가 다르게 설정된다. - func(int a, int b)와 func(int a)는 엄연하게 다른 함수로 인식된다. 1. void: 리턴하는 값이 없다. #include using namespace std; int ret = 1; void a(){ ret = 2; //ret을 2로 바꾸고 cout 2023. 1. 18. 입출력 #include //헤더파일 //STL 라이브러리를 import한다. //bits/stdc++.h는 모든 표준 라이브러리가 포함된 헤더 using namespace std; // std라는 namespace를 사용한다는 뜻. // cin이나 cout 등을 사용할 때 원래는 std::cin 이렇게 호출을 해야 하지만 // std를 기본으로 설정한다는 뜻입니다. // 같은 클래스 이름 구별, 모듈화에 쓰인다. string a; int main(){ cin >> a; //cin 입력 함수 cout 2023. 1. 18. 이전 1 2 3 4 5 6 7 ··· 16 다음