검색결과 리스트
프로그래밍에 해당되는 글 335건
- 2023.01.22 C# 문자열 내림차순으로 배치하기(System.Array.Sort/Reverse, JAVA)
- 2023.01.22 프로그래머스 C# 다음 큰 숫자(이진수 변환, 이진법, Convert.ToString, Convert.ToInt32, JAVA)
- 2023.01.22 프로그래머스 C# 컨트롤 제트(인덱스 설정하기, P, J)
- 2023.01.22 프로그래머스 C# 구슬을 나누는 경우의 수(Combination, using System.Numerics;, P, J)
- 2023.01.21 프로그래머스 C# 나누어 떨어지는 숫자 배열(List sort하기, list.add, List<int>, JAVA)
- 2023.01.21 프로그래머스 C# 2016년(int형 배열 생성, Datetime, JAVA)
- 2023.01.21 프로그래머스 C# 두 정수 사이의 합(삼항연산자, JAVA)
- 2023.01.21 프로그래머스 C# 올바른 괄호(시간 최소화, 괄호 알고리즘, JAVA)
글
C# 문자열 내림차순으로 배치하기(System.Array.Sort/Reverse, JAVA)
using System.Linq;
public class Solution {
public string solution(string s) {
char[] temp = s.ToCharArray();
//s를 charArray로 변환하기
System.Array.Sort(temp);
//Zbcdefg
System.Array.Reverse(temp);
// gfedcbZ
// sorting하고 역순으로 다시 정렬하기
string answer = new string(temp);
return answer;
}
}
///////
자바
//////
import java.util.Arrays;
public class ReverseStr {
public String reverseStr(String str){
char[] sol = str.toCharArray();
Arrays.sort(sol);
return new StringBuilder(new String(sol)).reverse().toString();
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args)
{
ReverseStr rs = new ReverseStr();
System.out.println(rs.reverseStr("Zbcdefg") );
}
}
import java.util.stream.Stream;
import java.util.stream.Collectors;
import java.util.Comparator;
public class ReverseStr {
public String reverseStr(String str)
{
return Stream.of(str.split(""))
.sorted(Comparator.reverseOrder())
.collect(Collectors.joining());
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args)
{
ReverseStr rs = new ReverseStr();
System.out.println( rs.reverseStr("Zbcdefg") );
}
}
import java.util.Arrays;
public class ReverseStr {
public String reverseStr(String str){
char[] ch = str.toCharArray();
String lower = "";
String upper = "";
for(int i = 0; i < ch.length; i++)
{
int chnum = ch[i];
if(chnum >= 65 && chnum <= 90)
upper += ch[i];
else
lower += ch[i];
}
char[] chUpper = upper.toCharArray();
char[] chLower = lower.toCharArray();
upper = ""; lower = "";
Arrays.sort(chUpper);
Arrays.sort(chLower);
for(int i = chUpper.length - 1; i >= 0; i--)
upper += chUpper[i];
for(int i = chLower.length - 1; i >= 0; i--)
lower += chLower[i];
return lower + upper;
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args) {
ReverseStr rs = new ReverseStr();
System.out.println( rs.reverseStr("Zbcdefg") );
}
}
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 수박수박수박(삼항연산자, JAVA) (0) | 2023.01.22 |
---|---|
프로그래머스 C# 서울에서 김서방 찾기(쉬움, JAVA) (0) | 2023.01.22 |
프로그래머스 C# 다음 큰 숫자(이진수 변환, 이진법, Convert.ToString, Convert.ToInt32, JAVA) (0) | 2023.01.22 |
프로그래머스 C# 컨트롤 제트(인덱스 설정하기, P, J) (0) | 2023.01.22 |
프로그래머스 C# 구슬을 나누는 경우의 수(Combination, using System.Numerics;, P, J) (0) | 2023.01.22 |
글
프로그래머스 C# 다음 큰 숫자(이진수 변환, 이진법, Convert.ToString, Convert.ToInt32, JAVA)
using System;
class Solution
{
public int solution(int n)
{
int answer = 0;
string ijin2 = "";
string result = "";
string ijin = Convert.ToString(n, 2); /// n을 이진수로 바꾸기
ijin = ijin.Replace("0", ""); // 0을 삭제하기
for(int i=n+1;i<=1000000;i++)
{
ijin2 = Convert.ToString(i, 2);
result = ijin2.Replace("0", ""); /// 1의 개수가 같으면 되니까 0을 지우고 1로만 세팅한다.
if(ijin.Length == result.Length) // 1로만 세팅된 게 같으면 break한다.
{
break;
}
}
answer = Convert.ToInt32(ijin2, 2); //이 숫자를 다시 2진수로 바꾼다.
return answer;
}
}
자바
class TryHelloWorld
{
public int nextBigNumber(int n)
{
int cnt = Integer.bitCount(n);
while(Integer.bitCount(++n) != cnt) {}
return n;
}
public static void main(String[] args)
{
TryHelloWorld test = new TryHelloWorld();
int n = 78;
System.out.println(test.nextBigNumber(n));
}
}
class TryHelloWorld {
public int nextBigNumber(int n) {
int postPattern = n & -n, smallPattern = ((n ^ (n + postPattern)) / postPattern) >> 2;
return n + postPattern | smallPattern;
}
public static void main(String[] args) {
int n = 78;
System.out.println(new TryHelloWorld().nextBigNumber(n));
}
}
import java.util.regex.Pattern;
import java.util.regex.Matcher;
class TryHelloWorld
{
public int nextBigNumber(int n)
{
int answer = n;
int defaultCnt = Integer.bitCount(n);
while(true)
{
answer++;
if(Integer.bitCount(answer) == defaultCnt)
break;
}
return answer;
}
public static void main(String[] args)
{
TryHelloWorld test = new TryHelloWorld();
int n = 78;
System.out.println(test.nextBigNumber(n));
}
}
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 서울에서 김서방 찾기(쉬움, JAVA) (0) | 2023.01.22 |
---|---|
C# 문자열 내림차순으로 배치하기(System.Array.Sort/Reverse, JAVA) (0) | 2023.01.22 |
프로그래머스 C# 컨트롤 제트(인덱스 설정하기, P, J) (0) | 2023.01.22 |
프로그래머스 C# 구슬을 나누는 경우의 수(Combination, using System.Numerics;, P, J) (0) | 2023.01.22 |
프로그래머스 C# 나누어 떨어지는 숫자 배열(List sort하기, list.add, List<int>, JAVA) (0) | 2023.01.21 |
글
프로그래머스 C# 컨트롤 제트(인덱스 설정하기, P, J)
using System;
public class Solution {
public int solution(string s) {
int answer = 0;
string[] arr = s.Split(" "); // 빈 칸을 기준으로 나누기 {1} {2} {Z} {3}
int index = 0;
for(int i = 0; i < arr.Length; i++)
{
if(arr[i] == "Z")
{
if(index == 0)
{
continue;
}
index--;
answer -= int.Parse(arr[index]); // 바로 전에 더했던 수를 빼야한다.
}
else
{
answer += int.Parse(arr[i]);
index = i + 1;
}
}
return answer;
}
}
/// continue 없어도 된다.
파이썬
////
def solution(s):
arr = s.split(' ')
result =[]
for i in arr :
if i=='Z':
result.pop()
else:
result.append(int(i))
return sum(result)
def solution(s):
answer = 0
for i in range(len(s := s.split(" "))):
answer += int(s[i]) if s[i] != "Z" else -int(s[i-1])
return answer
자바
import java.util.LinkedList;
class Solution {
public int solution(String s) {
int answer = 0;
LinkedList<Integer> numbers = new LinkedList<>();
if (!s.isEmpty())
{
String[] split_s = s.split(" ");
for (int i = 0; i < split_s.length; i++)
{
if (split_s[i].equals("Z"))
{
if (i - 1 >= 0 && numbers.size() > 0)
numbers.removeLast();
}
else
numbers.add(Integer.valueOf(split_s[i]));
}
}
for (Integer number : numbers)
{
answer += number;
}
return answer;
}
}
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
Stack<Integer> stack = new Stack<>();
for (String w : s.split(" "))
{
if (w.equals("Z"))
{
stack.pop();
}
else
{
stack.push(Integer.parseInt(w));
}
}
for (int i : stack)
{
answer += i;
}
return answer;
}
}
'프로그래밍' 카테고리의 다른 글
C# 문자열 내림차순으로 배치하기(System.Array.Sort/Reverse, JAVA) (0) | 2023.01.22 |
---|---|
프로그래머스 C# 다음 큰 숫자(이진수 변환, 이진법, Convert.ToString, Convert.ToInt32, JAVA) (0) | 2023.01.22 |
프로그래머스 C# 구슬을 나누는 경우의 수(Combination, using System.Numerics;, P, J) (0) | 2023.01.22 |
프로그래머스 C# 나누어 떨어지는 숫자 배열(List sort하기, list.add, List<int>, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 2016년(int형 배열 생성, Datetime, JAVA) (0) | 2023.01.21 |
글
프로그래머스 C# 구슬을 나누는 경우의 수(Combination, using System.Numerics;, P, J)
using System;
public class Solution
{
public double solution(int balls, int share)
{
double answer = 0;
double sum1 = 1;
double sum2 = 1;
double sum3 = 1;
for (double i = 1; i <= balls; i++)
{
sum1 *= i;
}
for (double i = 1; i <= share; i++)
{
sum2 *= i;
}
for (double i = 1; i <= balls - share; i++)
{
sum3 *= i;
}
answer = Math.Round(sum1 / (sum2 * sum3));
return answer;
}
}
////
using System;
using System.Numerics;
public class Solution
{
public int solution(int balls, int share)
{
return Combination(balls, share);
}
public int Combination(int n, int m)
{
if (m == 0 || n == m)
{
return 1;
}
return Combination(n - 1, m - 1) + Combination(n - 1, m);
}
}
//////////
파이썬
import math
def solution(balls, share):
return math.comb(balls, share)
def solution(balls, share):
answer = factorial(balls) / (factorial(balls - share) * factorial(share))
return answer
def factorial(n):
result = 1
for i in range(1, n + 1):
result = result * i
return result
자바
//////
class Solution {
public long solution(int balls, int share) {
long answer = 0;
int d = (balls - share) > share ? share : balls - share;
if (d == 0) return 1;
return solution(balls - 1, d - 1) * balls / d;
}
}
import java.math.BigInteger;
class Solution {
public BigInteger solution(int balls, int share) {
return factorial(balls).divide(factorial(balls - share).multiply(factorial(share)));
}
public BigInteger factorial(int n) {
BigInteger result = new BigInteger("1");
BigInteger from = new BigInteger("1");
BigInteger to = new BigInteger(String.valueOf(n));
for (BigInteger i = from; i.compareTo(to) <= 0; i = i.add(BigInteger.ONE)) {
result = result.multiply(i);
}
return result;
}
}
class Solution {
public long solution(int balls, int share) {
share = Math.min(balls - share, share);
if (share == 0)
return 1;
long result = solution(balls - 1, share - 1);
result *= balls;
result /= share;
return result;
}
}
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 다음 큰 숫자(이진수 변환, 이진법, Convert.ToString, Convert.ToInt32, JAVA) (0) | 2023.01.22 |
---|---|
프로그래머스 C# 컨트롤 제트(인덱스 설정하기, P, J) (0) | 2023.01.22 |
프로그래머스 C# 나누어 떨어지는 숫자 배열(List sort하기, list.add, List<int>, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 2016년(int형 배열 생성, Datetime, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 두 정수 사이의 합(삼항연산자, JAVA) (0) | 2023.01.21 |
글
프로그래머스 C# 나누어 떨어지는 숫자 배열(List sort하기, list.add, List<int>, JAVA)
using System.Collections.Generic;
public class Solution {
public List<int> solution(int[] arr, int divisor) {
List<int> answer = new List<int>();
int j = 0;
for(int i = 0;i<arr.Length;i++)
{
if(arr[i]%divisor == 0)
{
answer.Add(arr[i]);
j++;
}
}
if(j == 0)
{
answer.Add(-1);
}
answer.Sort();
return answer;
}
}
///////
자바
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
int[] answer = Arrays.stream(arr).filter(factor -> factor % divisor == 0).toArray();
if(answer.length == 0) answer = new int[] {-1};
java.util.Arrays.sort(answer);
return answer;
}
}
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
Arrays.sort(arr);
List<Integer> lst1 = new ArrayList<Integer>();
for(int item : arr)
{
if(item % divisor == 0)
{
lst1.add(item);
}
}
int lstSize = lst1.size();
if(lstSize == 0)
{
int[] answer = { -1 };
return answer;
}
int[] answer = new int[lstSize];
for(int i = 0; i < lstSize; ++i)
{
answer[i] = lst1.get(i);
}
return answer;
}
}
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 컨트롤 제트(인덱스 설정하기, P, J) (0) | 2023.01.22 |
---|---|
프로그래머스 C# 구슬을 나누는 경우의 수(Combination, using System.Numerics;, P, J) (0) | 2023.01.22 |
프로그래머스 C# 2016년(int형 배열 생성, Datetime, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 두 정수 사이의 합(삼항연산자, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 올바른 괄호(시간 최소화, 괄호 알고리즘, JAVA) (0) | 2023.01.21 |
글
프로그래머스 C# 2016년(int형 배열 생성, Datetime, JAVA)
public class Solution {
public string solution(int a, int b) {
string answer = "";
int[] month = new int[13] {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int days = b;
//31 29 31 30 31 30 31 31 30 31 30 31
for(int i=0;i<a;i++)
{
days += month[i];
}
if(days%7 == 1)
{
answer = "FRI";
}
else if(days%7 == 2)
{
answer = "SAT";
}
else if(days%7 == 3)
{
answer = "SUN";
}
else if(days%7 == 4)
{
answer = "MON";
}
else if(days%7 == 5)
{
answer = "TUE";
}
else if(days%7 == 6)
{
answer = "WED";
}
else if(days%7 == 0)
{
answer = "THU";
}
return answer;
}
}
//////
using System;
public class Solution {
public string solution(int a, int b) {
string answer = "";
DateTime dateValue = new DateTime(2016,a,b);
answer = dateValue.DayOfWeek.ToString().Substring(0,3).ToUpper();
return answer;
}
}
using System;
public class Solution {
public string solution(int a, int b) {
string answer = "";
string[] dayOfTheWeek = new string[7]{"SUN","MON","TUE","WED","THU","FRI","SAT"};
int[] daysOfMonth = new int[12]{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int totalDays = 5; //1월 1일이 금요일 이라서 초기화를 5로 시킨다.
for(int i = 0 ; i < a - 1 ; i++)
{
totalDays += daysOfMonth[i];
}
totalDays += b - 1;
answer = dayOfTheWeek[totalDays%7];
return answer;
}
}
////////////////
자바
class Solution {
public String solution(int a, int b) {
String answer = "";
int[] c = {31,29,31,30,31,30,31,31,30,31,30,31};
String[] MM ={"FRI","SAT","SUN","MON","TUE","WED","THU"};
int Adate = 0;
for(int i = 0 ; i< a-1; i++)
{
Adate += c[i];
}
Adate += b-1;
answer = MM[Adate %7];
return answer;
}
}
import java.time.*;
class Solution {
public String solution(int a, int b) {
return LocalDate.of(2016, a, b).getDayOfWeek().toString().substring(0,3);
}
}
import java.time.*;
class TryHelloWorld
{
public String getDayName(int a, int b)
{
LocalDate date = LocalDate.of(2016, a, b);
return date.getDayOfWeek().toString().substring(0, 3);
}
public static void main(String[] args)
{
TryHelloWorld test = new TryHelloWorld();
int a=5, b=24;
System.out.println(test.getDayName(a,b));
}
}
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 구슬을 나누는 경우의 수(Combination, using System.Numerics;, P, J) (0) | 2023.01.22 |
---|---|
프로그래머스 C# 나누어 떨어지는 숫자 배열(List sort하기, list.add, List<int>, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 두 정수 사이의 합(삼항연산자, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 올바른 괄호(시간 최소화, 괄호 알고리즘, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 가운데 글자(string 몇 번째 문자 가져오기, JAVA) (0) | 2023.01.21 |
글
프로그래머스 C# 두 정수 사이의 합(삼항연산자, JAVA)
public class Solution {
public long solution(int a, int b) {
long answer = 0;
while (a != b)
{
answer += a;
a = (a > b) ? a - 1 : a + 1; /// a가 b보다 크면 a를 감소시켜서 b까지 되게 하고, 안 그러면 증가시켜서 b와 같게 한다.
}
return answer + b;
}
}
자바(등차수열의 합 공식 > (마지막 항 + 첫 항)/2 * 배열 갯수
class Solution {
public long solution(int a, int b) {
return sumAtoB(Math.min(a, b), Math.max(b, a));
}
private long sumAtoB(long a, long b) {
return (b - a + 1) * (a + b) / 2;
}
}
class Solution {
public long solution(int a, int b) {
long answer = 0;
if (a < b)
{
for (int i = a; i <= b; i++)
{
answer += i;
}
}
else
{
for (int i = b; i <= a; i++)
{
answer += i;
}
}
return answer;
}
}
class Solution {
public long solution(int a, int b) {
long answer = 0;
for (int i = ((a < b) ? a : b); i <= ((a < b) ? b : a); i++)
answer += i;
return answer;
}
}
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 나누어 떨어지는 숫자 배열(List sort하기, list.add, List<int>, JAVA) (0) | 2023.01.21 |
---|---|
프로그래머스 C# 2016년(int형 배열 생성, Datetime, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 올바른 괄호(시간 최소화, 괄호 알고리즘, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 가운데 글자(string 몇 번째 문자 가져오기, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 평행(GetLength, Distinct, float-소수, Count, JAVA) (0) | 2023.01.21 |
글
프로그래머스 C# 올바른 괄호(시간 최소화, 괄호 알고리즘, JAVA)
using System;
public class Solution {
public bool solution(string s) {
int count = 0;
for(int i = 0;i<s.Length;i++)
{
count = s[i] == '(' ? count+1 : count-1;
// if/else문으로 하면 시간초과라고 안된다. 배열에서 (면 카운트를 플러스, 아니면 카운트를 마이너스
if(count < 0)
{
return false;
// 맨 처음에 count가 -1이하가 되면 바로 false를 반환하게 한다. )가 앞에 나오면 거기서 게임이 끝난 것이기 때문에 시간을 절약할 수 있기도 하다.
// 앞에서 count가 -1이 되면 (가 있어도 해결이 안되니까, 예를 들어 )(면 에러 그렇게 되게 코드가 되어 있다.
}
}
return count == 0;
}
}
/////
자바
import java.util.Stack;
class Solution {
boolean solution(String s) {
boolean answer = true;
String res = "YES";
Stack<Integer> st = new Stack<>();
for (int i = 0; i < s.length(); i++)
{
if (s.charAt(i) == '(')
{
st.push(1);
}
else if (s.charAt(i) == ')')
{
if (st.isEmpty())
{
answer = false;
break;
}
else
{
st.pop();
}
}
}
if(!st.isEmpty())
{
answer = false;
}
System.out.println(res);
return answer;
}
}
class Solution {
boolean solution(String s) {
boolean answer = false;
int count = 0;
for(int i = 0; i<s.length();i++)
{
if(s.charAt(i) == '(')
{
count++;
}
if(s.charAt(i) == ')')
{
count--;
}
if(count < 0)
{
break;
}
}
if(count == 0)
{
answer = true;
}
return answer;
}
}
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 2016년(int형 배열 생성, Datetime, JAVA) (0) | 2023.01.21 |
---|---|
프로그래머스 C# 두 정수 사이의 합(삼항연산자, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 가운데 글자(string 몇 번째 문자 가져오기, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 평행(GetLength, Distinct, float-소수, Count, JAVA) (0) | 2023.01.21 |
프로그래머스 C# 크기가 작은 부분 문자열(long.Parse, JAVA parseLong, substring) (0) | 2023.01.21 |